我写过这个
public static void setIsolationLevel(Isolev level) {
try{
switch(level){
case READ_UNCOMMITTED;
conn.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
break;
}
}catch (SQLException e){
throw new ServiceException(e.getMessage());
}
}
但它没有编译。它说缺少:
。问题是什么?我试图把“:”放在每个地方。
答案 0 :(得分:4)
你的问题是你有
case READ_UNCOMMITTED;
用分号代替。你需要一个冒号
case READ_UNCOMMITTED:
答案 1 :(得分:3)
我确信编译器也会给你一个行号:
public static void setIsolationLevel(Isolev level) {
try{
switch(level){
case READ_UNCOMMITTED: // <-------- here, replace ; with :
conn.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
break;
}
}catch (SQLException e){
throw new ServiceException(e.getMessage());
}
}
答案 2 :(得分:1)
Java中的switch语句如下:
switch(thingy){
case CASE1:
...
break;
...
}
答案 3 :(得分:1)
行case READ_UNCOMMITTED;
需要更改为case READ_UNCOMMITTED:
。注意冒号而不是分号。
答案 4 :(得分:0)
如果只是交换机中只有一个子句,则不需要切换 - 您只需使用'if'语句即可使代码更清晰。
public static void setIsolationLevel(Isolev level) {
try{
if(READ_UNCOMMITTED.equals(level)){
conn.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
}
}catch (SQLException e){
throw new ServiceException(e.getMessage());
}
}