Ayr*_*ren 0 java casting boolean identifier bitwise-or
我得到了这个想法,因为eclipse(Java)它显示了向catch子句添加多个异常的可能性,如下所示:
String someInput;
int int1;
try {
int1 = Integer.parseInt(someInput);
} catch (NullPointerException | NumberFormatException e) {
e.printStackTrace;
}
Run Code Online (Sandbox Code Playgroud)
那么这是否意味着我也可以这样做?:
boolen bool1 = (int1 == (int2 | int3));
Run Code Online (Sandbox Code Playgroud)
或者像这样投射一个物体?:
(obj1 | obj2) someObject;
Run Code Online (Sandbox Code Playgroud)
或者总是指定像这样的对象?:
obj1 | obj2 someName;
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何答案,艾伦
采用|一个异常口头禅是不是作为一个运营商.它是一种特殊语法,允许您捕获一组异常.
那么这是否意味着我也可以这样做?:
Run Code Online (Sandbox Code Playgroud)boolean bool1 = (int1 == (int2 | int3));或者像这样投射一个物体?:
Run Code Online (Sandbox Code Playgroud)(obj1 | obj2) someObject;或者总是指定像这样的对象?:
Run Code Online (Sandbox Code Playgroud)obj1 | obj2 someName;
不,不,不.
该特殊语法只能用于标记"签名"的特定上下文中.
请注意,您的第一个示例在语法上是正确的,但它没有按您的想法执行.具体来说,这两个陈述意味着不同的事情
boolean bool1 = (int1 == (int2 | int3));
boolean bool2 = ((int1 == int2) || (int == int3));
Run Code Online (Sandbox Code Playgroud)
第一个执行OR的逐位int2和int3,并且如果结果是等于测试int1.如果我们尝试这个int1 == 0b0011,int2 == 0b0001并且int3 == 0b0010,bool1将会true和bool2将来false.
另外两个例子在语法上是不正确的(作为表达式).
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |