私はStanovanjeでint postleを使用してseznam2の長さを取得しようとしています。しかし、変数getPostle()が合格しないと、私はこの行のためにスレッド「メイン」のjava.lang.NullPointerExceptionエラーで例外を取得:オブジェクトと変数オブジェクトの違い
private String[] seznam2 = new String[getStanovanje().getPostle()].
私も使用する際に知っていただきたいと思います:
Stanovanje stanovanje = new Stanovanje();
または
private Stanovanje stanovanje1;
ここに私のコードです:
Potovanje.javaは
public class Potovanje {
Stanovanje stanovanje = new Stanovanje();
private Stanovanje stanovanje1;
private String datumOdhoda;
private int trajanje;
private Popotnik[] popotnik;
private ArrayList<Popotnik> seznam = new ArrayList<>();
private String[] seznam2 = new String[getStanovanje().getPostle()];
public Potovanje(String datumOdhoda, int trajanje){
this.datumOdhoda = datumOdhoda;
this.trajanje = trajanje;
}
public void setStanovanje(Stanovanje stanovanje1){
this.stanovanje1 = stanovanje1;
}
public Stanovanje getStanovanje(){
return stanovanje1;
}
public void setPopotnik(Popotnik[] popotnik){
this.popotnik = popotnik;
}
public Popotnik[] getPopotnik(){
return popotnik;
}
public ArrayList<Popotnik> getSeznam(){
return seznam;
}
public void setSeznam2(String[] seznam2){
this.seznam2 = seznam2;
}
public String[] getSeznam2(){
return seznam2;
}
public void dodajPotnika(Popotnik[] popotnik){
//System.out.println("postle: " + stanovanje.getPostle());
for(int i=0; i<getSeznam2().length; i++){
//System.out.println("wadap");
setPopotnik(popotnik);
seznam.add(getPopotnik()[i]);
}
}
public String toString(){
return "datumOdhoda: " + datumOdhoda + "\n" + "trajanje: " + trajanje + "\n" + "popotnik: " + getPopotnik();
}
}
Stanovanje.java
public class Stanovanje {
private int postle;
public Stanovanje(){
}
public Stanovanje(int postle){
this.postle = postle;
}
public void setPostle(int postle){
this.postle = postle;
}
public int getPostle(){
return postle;
}
public String toString(){
return "postle: " + postle;
}
}
あなたの質問は非常に不明です。あなたが受け取ったエラーを含めると、あなたの質問を明確にするために時間を取ることを検討してください。 –
メンバ変数 'stanovanje1'は明示的に初期化されておらず、' null'です。 'getStanovanje()'メソッドは 'null'を返し、' null'に 'getPostle()'を呼び出すと、 'NullPointerException'が返されます。 – Jesper