以下是我的代码来比较Long值(我相信这可能会激怒某些人)
Long userRole = new Long(-1);
userRole = 8;
if ( userRole !=8 || userRole != 7)
{
showSave = false;
request.setAttribute("VIEW", "N");
}
if ( userRole == 8 || userRole == 7) // this fails
所有案件都成功了...... :(
我想要做的是如果userRole不等于8和7然后设置下面的
showSave = false;
request.setAttribute("VIEW", "N");
我真的不知道我在这里犯的是什么错误。
感谢
答案 0 :(得分:3)
首先,这不是编译。
Long userRole = new Long(-1);
userRole = 8; // can't assign int to Long
您可以将其更改为
serRole = (long) 8;
或者
userRole = 8L;
然后来到其他部分。
Long userRole = new Long(-1);
userRole = 9L;
boolean showSave=true;
if (userRole != 8&&userRole!=7) { // userRole is not equal to 8 and 7 then
showSave = false;
}
System.out.println(showSave);
您应该使用&&
而不是||
Out put:
false
答案 1 :(得分:1)
首先,您不能直接为Long变量赋值。为此,您需要输入强制转换为Long类型或需要添加' L'符号到int literal。找到下面的修改代码
serRole =(长)8;或者serRole = 8L;
你的问题是"如果userRole不等于8和7"。我们必须写" userRole不等于8和7"在java中(userRole!= 8&& userRole!= 7)。
'&安培;&安培;'代表"和"
' ||'代表"或"。
因此,代码的工作功能如下,
长userRole = new Long(-1);
userRole = 8L;
boolean showSave = true;
if(userRole!= 8&& userRole!= 7){
showSave = false;
}