0
引数が有効なときに私のコンパイラが不正な引数例外を表示している理由を理解できません。何か案は?不正な引数例外を投げる
public class bikeBrakeTest {
public enum BrakeType {Caliper, Cantilever, LinearPull, Disc };
public BrakeType brakes;
public bikeBrakeTest() //Defualt Constructor
{
brakes = BrakeType.Caliper;
}
public bikeBrakeTest(BrakeType aBrake) //Parameterized Constructor
{
setBrakes(aBrake);
}
public void setBrakes (BrakeType aBrake) //Mutator Method "set"
{
if (aBrake.equals("Caliper") || aBrake.equals("Cantilever") || aBrake.equals("LinearPull") || aBrake.equals("Disc"))
{
brakes = aBrake;
}
else throw new IllegalArgumentException("invalid");
}
}
そして、私のテスターは..です
public class testing {
public static void main(String[] args)
{
bikeBrakeTest myBike = new bikeBrakeTest();
myBike.setBrakes(bikeBrakeTest.BrakeType.Caliper);
}
}
1.これはコンパイラではありません。 2.なぜあなたは 'BrakeType'が' String'と等しくなると思いますか? –
'aBreak'は' 'Caliper''と等しくありません。しかし、それは 'BrakeType.Caliper'と同じかもしれません。 –