Javaでのif文の多くを交換する方法は?

kazh;

私は私のコード「きれい」にしようとしています。私は、if文の多くの多くの機能を持っています。どのように私はそれらを置き換えることができますか?

私はそれらのIFSを持っている理由だ4つの貴様のハッシュテーブルを使用しています。唯一の変更は、ハッシュテーブル名で、私は情報を追加するJList。

if(n.getCategorie().getNum() == Categorie.INTERNATIONAL.getNum())
                {
                    DefaultListModel dlm = (DefaultListModel) jListInternationales.getModel();
                    dlm.addElement(n.getTitre());
                    jListInternationales.setModel(dlm);
                    NewsInter.put(""+nNews, n);
                }
                else if(n.getCategorie().getNum() == Categorie.POLITIQUE.getNum())
                {
                    DefaultListModel dlm = (DefaultListModel) jListViePolitique.getModel();
                    dlm.addElement(n.getTitre());
                    jListViePolitique.setModel(dlm);
            NewsPolitique.put(""+nNews, n);
                }
                else if(n.getCategorie().getNum() == Categorie.RAGOT.getNum())
                {
                    DefaultListModel dlm = (DefaultListModel) jListRagotsEtPotins.getModel();
                    dlm.addElement(n.getTitre());
                    jListRagotsEtPotins.setModel(dlm);
            NewsRagot.put(""+nNews, n);
                }
                else if(n.getCategorie().getNum() == Categorie.SPORT.getNum())
                {
                    DefaultListModel dlm = (DefaultListModel) jListInfosSports.getModel();
                    dlm.addElement(n.getTitre());
                    jListInfosSports.setModel(dlm);
            NewsSport.put(""+nNews, n);
                }
チャールズDowbecki:

唯一の違いifの枝から来るJList参照。コードが繰り返されているので、あなたは別の方法にそれを抽出する必要があります。

private void updateList(JList list) {
  DefaultListModel dlm = (DefaultListModel) list.getModel();
  dlm.addElement(n.getTitre());
  list.setModel(dlm);
}

その後、コードは非常にクリーン次のようになります。

if (n.getCategorie().getNum() == Categorie.INTERNATIONAL.getNum()) {
  updateList(jListInternationales);
} else if (n.getCategorie().getNum() == Categorie.POLITIQUE.getNum()) {
  updateList(jListViePolitique);
} // etc

NewsInter.put(""+nNews, n);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=225288&siteId=1