什么是|的名字java中的运算符

时间:2013-02-02 08:48:34

标签: java operators

在java 7中,我们可以一次捕获多个异常,例如

try {  
    Class a = Class.forName("wrongClassName");  
    Object instance = a.newInstance();  
} catch (ClassNotFoundException | IllegalAccessException |  
   InstantiationException ex) {  
   System.out.println("Failed to create instance");  
}  

这是Bitwise Inclusive OR吗?就我在java中所知,按位运算符用于比较二进制文件。 如果不是,那么java如何用Bitwise Inclusive OR区分这个运算符?

只想知道这里使用的运算符的名称,这个运算符是否存在于java 7之前。

任何答案都表示赞赏。谢谢。

4 个答案:

答案 0 :(得分:5)

docs说:

  

catch子句指定块可以处理的异常类型,每个异常类型用竖线(|)分隔。

此运算符在Java 7之前用作bitwise inclusive OR

答案 1 :(得分:5)

它自Java 7起有效,我将其称为 pipe

catch块本身称为多捕获块。

根据使用它的上下文,此运算符是按位运算符或多运算符运算符。就像在(1 + 1)+是加法运算符一样,在"hello" + "world"中,+是连接运算符。

答案 2 :(得分:1)

它未命名(在此上下文中)

  

异常参数可以将其类型表示为单个类类型或两个或更多类类型的联合(称为替代)。联合的替代方法在语法上由|。

分隔

参考:Java Language Spec, Chapter 14.20

答案 3 :(得分:0)

运算符在Java 7之前作为(非短路)OR运算符存在,这可能是它在这里使用的原因 - 你捕获一个例外,或者另一个,或者另一个,等等。