Java 定义新变量
我对Java编程非常陌生,遇到了一些我不太理解的事情:Java 定义新变量,java,variables,Java,Variables,我对Java编程非常陌生,遇到了一些我不太理解的事情: if (Object.getSomething() != null) { Long Size= null != Object.getSomething().getSomething2() ? Object.Something().getSomething2() : null; 我一直在寻找答案,但我无法理解这种定义新变量的方式,我的意思是,“?”和“:null”是我无法理解的东西。这是java中的三
if (Object.getSomething() != null) {
Long Size= null != Object.getSomething().getSomething2()
? Object.Something().getSomething2() : null;
我一直在寻找答案,但我无法理解这种定义新变量的方式,我的意思是,“?”和“:null”是我无法理解的东西。这是java中的三元运算符。 语法是
result = testCondition ? value1 : value2
i、 e如果testcondition为true,则将值1放入结果,否则将值2放入结果
if (Object.getSomething() != null)
Long Size= null != Object.getSomething().getSomething2()
? Object.Something().getSomething2() : null;
该行相当于以下内容:
if (Object.getSomething() != null)
Long Size = null;
if (null != Object.getSomething().getSomething2())
Size = Object.Something().getSomething2();
请参阅关于三元运算符。三元条件采用以下形式:
条件?value\u if\u true:value\u if\u false
例如,考虑数学max
函数。使用常规条件语句,我们可以编写:
int max = 0;
if (a > b) {
max = a;
} else {
max = b;
}
我们可以使用三元条件做完全相同的事情:
max=a>b?a:b代码>您试图在此处使用三元运算符。以下是为大小指定值的简化版本:
长尺寸=空!=object.getSomething()?10L:空
如果为空!=object.getSomething()为true,则将分配10L,否则将分配null。让我们执行一个简单的三元操作:
Object object;
int i = object == null ? 1 : 2;
在Java代码中,这与编写标准的if-else
语句相同
Object object;
int i;
if (object == null) {
i = 1;
} else {
i = 2;
}
如您所见,传统方法所需的行数要多得多。这是三元运算符的主要优点之一
在自然语言中,三元运算读作:
“object是否等于null
?然后1
否则2
”阅读有关三元条件表达式的一些语法示例:此语句(如果下面的所有语句都是if
)无效,可以(或者更好地应该)用Long Size=object.getSomething().getSomething2()