おそらく基本的な質問です。私は空白の最後のフィールドが '容量'のために初期化されないかもしれないと私に言っているエラーを得ています。私のコードは次のとおりです。ifステートメントでネストされている最終フィールドを初期化する方法はありますか?
public class Car {
private final RegNoInterface regNo;
private final String typeOfCar;
private final int capacity;
private boolean outForRent;
private boolean tankFull;
private int currentFuel;
public Car(RegNoInterface regNo, String typeOfCar){
//validate inputs
this.regNo = regNo;
this.typeOfCar = typeOfCar;
if(typeOfCar == "small"){
this.capacity = 45;
this.currentFuel = 45;
}
else if(typeOfCar == "large"){
this.capacity = 65;
this.currentFuel = 65;
}
}
}
小さい車は45Lの容量を持ち、大きな車は65Lの容量を持っています。キャパシティが変わることはないので、フィールドは最終的なものであることが理にかなっています。誰でもこの仕事をどうすればできるのか分かっていますか?
typeOfCarが 'abc'の場合、容量に何が設定されますか? –
また、[Javaで文字列を比較する方法は?](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) –
文字列の比較を完全に忘れてしまいました。私の悪い。ああ、私は今参照してください。私は入力を検証するつもりだから、 'else'の部分だけが必要です。 –