BU BİR DUPLICATE DEĞİLDİR. Yüzeyde olduğu gibi görünür, ancak diğer problemler için çözüm geçerli değildir. Ben Java 1.7 altında aşağıdaki yöntemi çalıştırdığınızdaJava Map.put() boş gösterici atıyor
, ben
normalOutCurrVals.put(new Double(x), new Byte(i));
bir boş gösterici istisna olsun ben dokümantasyon ve yakından ilişkili sorunlar için buraya cevapları okudum, ama şu ana kadar ve benim Takım güdük. Kaybettiğimiz belli bir şey var mı?
Sadece simüle edilmiş bir aygıtın belleğinde depolamak için bayt karşılıklarına eşleme (program kullanıcı arabirimimizde görünen) çift değerlerinden eşlemeleri yerleştirmek istiyoruz. Herhangi bir yardım büyük takdir
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();
: Burada
importants bildirimleri bulunmaktadır.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' nedir? Bu null mı? – Savior
Neden yeni Double (x) 'yapıyorsun? Autoboxing bununla ilgilenmeli. –
Neden bir 'map' oluşturuyorsunuz (ve boş bırakıyor), fakat 'normalOutCurrVals' öğesini çağırıyorsunuz? –