0
これは重複しません。それは表面にあるように見えますが、他の問題の解決法は適用されません。Java Map.put()throw nullポインタ
私は、Java 1.7の下に次のメソッドを実行すると、私は
normalOutCurrVals.put(new Double(x), new Byte(i));
でnullポインタ例外を取得し、私は文書化と密接に関連する問題のために、ここで答えを読んで、これまでのところ、私と私のしていますチームは困惑している。私たちが行方不明になっていることは明らかですか?
シミュレートされたデバイスのメモリに格納するために、2つの値(プログラムのUIに表示される)からそのバイトの対応するものへのマッピングを入れたいだけです。ここで
がimportants宣言です:
public final Map<Double, Byte> normalOutCurrVals = mapNormalOutCurrVals();
public final Map<Double, Byte> magnetOutCurrVals = mapMagnetOutCurrVals();
public final Map<Integer, Byte> freqVals = mapFreqVals();
public final Map<String, Byte> onTimeVals = mapOnTimeVals();
public final Map<String, Short> offTimeVals = mapOffTimeVals();
public final Map<String , Short> pulseWidthVals = mapPulseWidthVals();
任意の助けいただければ幸いです。
private Map<Double, Byte> mapNormalOutCurrVals(){
Map<Double, Byte> map = new HashMap<Double, Byte>();
double x = 0.000;
byte i = 0;
//first set of normal output currents
while (x <= 2.000){
normalOutCurrVals.put(new Double(x), new Byte(i));
x += 0.125;
i++;
}
while (x <= 4.000){
normalOutCurrVals.put(new Double(x), new Byte(i));
x += 0.250;
i++;
}
while (x <= 8.000){
normalOutCurrVals.put(new Double(x), new Byte(i));
x += 0.500;
i++;
}
return map;
}
「normalOutCurrVals」とは何ですか?それは 'ヌル'ですか? – Savior
なぜ 'new Double(x)'をやるのですか? Autoboxingはそれを処理する必要があります。 –
なぜ 'map'を作成して(それを空にして返しますが)、putを' normalOutCurrVals'で呼び出していますか? –