0

特定のクラス (Assets) 内には、次のような一連の関連変数があります。

private long checkingBalance;
private long savingsBalance;
private long moneyMarketBalance;

...リストは続きます。

論理的には、それらはすべて関連していることを知っているので、これらすべての変数を合計して合計を表示したいと思います。私がやりたくないのは、手動で入力することです

total = checkingBalance + savingsBalance + moneyMarketBalance + indexFundBalance + mutualFundBalance + whatever 

など。これを行うにはもっと良い方法があるはずだと感じています。

それで、ありますか?私は、ある種の任意のセットまたはコレクションを定義し、それをループしてすべてのメンバーを追加するように Java に指示する方法が必要だと考えています。Balances という名前の別のクラスを作成するか、これらすべての変数を属性として持つクラスを作成する必要がありますか? それ以外の場合は、配列の使用を検討しましたが、それはハックのようです。

ありがとう!

4

5 に答える 5

2

あなたは LISPy のバックグラウンドを持っていると思います。あなたが探しているものはJavaには存在しません。

確かにそれをラップするクラスを作成できます。アセットのリストを作成し、リストを反復処理する関数を持つことができます。ただし、Java コレクションにはネイティブの map-to 動作はありません。

Map<String,Integer> assets = new HashMap();

int total(){
   int total=0;
   for(Integer x: assets.values()){
       total+= x;
   }
   return total;
}
于 2013-11-14T03:40:03.997 に答える