Java<>操作员描述

时间:2014-04-17 20:47:24

标签: java operators

我已经获得了一些包含<>的java代码运营商。这个算子的功能是什么?。

if(x <> 0) {
    doSomething();
}

我以前从未见过它,而且它不在http://docs.oracle.com/的操作页面上 我已经把它写成了一个错字,但它在同一段代码中出现了两次。

3 个答案:

答案 0 :(得分:3)

if (x <> 0) {
    doSomething();
}

这在Java 2 中不是有效的运算符 1 。所以它不会编译。如果要使用不等运算符,则必须使用!=运算符:

if (x != 0) { // this is valid use in Java
    doSomething();
}

您可以在此找到all valid operators in Java的列表。

使用示例&lt;&gt;泛型中的符号:

使用以下格式定义泛型类:class name<T1, T2, ..., Tn> { ... }

在这里,您可以看到&#34;您的符号&#34;:

  

尖括号(&lt;&gt;)分隔的类型参数部分如下   班级名称。它指定了类型参数(也称为类型)   变量)T1,T2,...和Tn。

有关详细信息,请查看Java generics。希望这会让事情更加清晰。

1 在实例化泛型类型时,仅在Java中使用符号<>

2 符号<>在SQL语言中有效。查看SQL operators

答案 1 :(得分:2)

这不是有效的Java代码,它会导致编译错误:

if (x <> 0)

表达上述内容的正确方法是:

if (x != 0)

允许diamond operator的唯一部分是实例化泛型类型,并且仅从Java 7开始。例如:

List<Integer> numbers = new ArrayList<>();

答案 2 :(得分:1)

这很可能是程序员错过的一个错误,例如,当您首先键入小于号时,某些ide会自动添加大于号。

e.g。 eclipse会将<转换为<>,你只需要记住删除第二个操作数。

此运算符<>实际上与其他语言中的(!=)运算符不相等,例如sql。

最后像其他人一样说,这个<>表达式适用于java中的泛型。