Enum とEnumMap<Parameters, Byte>
.
「バイト」値を非表示にするために、マップをクラスに入れました。だから私はset(Parameter, int)
andset(Parameter, boolean)
メソッドを持っています。
public enum Parameter {
BLAH
}
public class Parameters {
private final Map<Parameter, Byte> parameters = new EnumMap<>(Parameter.class);
public byte set(Parameter parameter, boolean set) {
return this.parameters.put(parameter, (byte) (set ? 0x01 : 0x00));
}
public byte set(Parameter parameter, int value) {
return this.parameters.put(parameter, (byte) value);
}
}
メソッドのいずれかを呼び出すと、NPW は which ポイントをput
! 公開しparameters
てメソッドを直接呼び出すと、機能します。
final Parameters parameters = new Parameters();
//parameters.parameters.put(Parameter.BLAH, (byte) 0x00);
parameters.set(Parameter.BLAH, false); // NPE
誰かが私にその振る舞いを説明できますか?