でなければならない、私は値を持つ列挙型を使用していると私は、スイッチケースにSmartCard.MessageType.SC_CONN.getValue()
を使用しようとすると、私はのJava:case式は定数式
でなければならないエラーを取得していますケース式は定数式
public class SmartCard {
public enum MessageType {
/** 0x00 Acknowledge of message */
SC_ACKP(0),
/** 0x01 Connect to the smart card */
SC_CONN(1),
/** 0x02 Request ATR attributes of smart card */
SC_ATTR(2),
/** 0x03 Send data to smart card */
SC_SEND(3);
private int value;
MessageType(int value) {
this.value = value;
}
public int getValue() {
return this.value;
}
};
}
public class TCPServer {
public static void main(String args[]) throws Exception {
}
private static void handleMessage(int packetType, int dataLen, byte[] receiveMessage, Socket clientSocket,
SmartCard smartCard) {
ByteBuffer answerBuffer = null;
int value = SmartCard.MessageType.SC_CONN.getValue();
String preferredProtocol = "";
switch (packetType) {
case 0:
break;
case value:
break;
case 2:
}
}
}
'case value:'が問題ですが、case文で変数を使用することはできません。 –