Java 使用?回报声明
在Java的String.class中,我看到了Java 使用?回报声明,java,return,Java,Return,在Java的String.class中,我看到了 public String substring(int beginIndex, int endIndex){ //if statements return ((beginIndex == 0) && (endIndex == count)) ? this: new String (offset + beginIndex, endIndex - beginIndex, value); } “?”在干什么?当我
public String substring(int beginIndex, int endIndex){
//if statements
return ((beginIndex == 0) && (endIndex == count)) ? this:
new String (offset + beginIndex, endIndex - beginIndex, value);
}
“?”在干什么?当我们谈到这个话题时,有人能解释一下return语句中的“新字符串”是怎么回事吗?这是某种条件吗?它是a,相当于:
if((beginIndex == 0) && (endIndex == count)) {
return this;
} else {
return new String (offset + beginIndex, endIndex - beginIndex, value);
}
if (a) then b; else c;
它是a,相当于:
if((beginIndex == 0) && (endIndex == count)) {
return this;
} else {
return new String (offset + beginIndex, endIndex - beginIndex, value);
}
if (a) then b; else c;
如果boolValue
为true,则返回a
,否则返回b
。它是ifelse
的缩写形式
return ((beginIndex == 0) && (endIndex == count)) ? this:
new String (offset + beginIndex, endIndex - beginIndex, value);
如果boolValue
为true,则返回a
,否则返回b
。它是ifelse
的缩写形式
return ((beginIndex == 0) && (endIndex == count)) ? this:
new String (offset + beginIndex, endIndex - beginIndex, value);
与以下各项相同:
if ((beginIndex == 0) && (endIndex == count))
return this;
else
return new String (offset + beginIndex, endIndex - beginIndex, value);
与以下各项相同:
if ((beginIndex == 0) && (endIndex == count))
return this;
else
return new String (offset + beginIndex, endIndex - beginIndex, value);
它是一种语言,在许多编程语言中使用,不仅仅是Java。将所有内容放在一行中非常有用,基本上它等于:
if (endIndex == count && beginIndex == 0)
{
return this;
}
else
{
return new String (offset + beginIndex, endIndex - beginIndex, value);
}
新字符串只是一个构造函数。它是一个构造函数,用于许多编程语言,而不仅仅是Java。将所有内容放在一行中非常有用,基本上它等于:
if (endIndex == count && beginIndex == 0)
{
return this;
}
else
{
return new String (offset + beginIndex, endIndex - beginIndex, value);
}
新字符串只是一个构造函数。的
?:
是三元运算符:a?b:c
相当于:
if((beginIndex == 0) && (endIndex == count)) {
return this;
} else {
return new String (offset + beginIndex, endIndex - beginIndex, value);
}
if (a) then b; else c;
有人能解释一下return语句中的“新字符串”是怎么回事吗
三元运算符是该return
语句中的条件运算符,但new String
不是一种条件运算符,它只是构造一个新的String
:根据条件,该return
语句返回:
,或此
- 新的
对象字符串
?:
是三元运算符:a?b:c
相当于:
if((beginIndex == 0) && (endIndex == count)) {
return this;
} else {
return new String (offset + beginIndex, endIndex - beginIndex, value);
}
if (a) then b; else c;
有人能解释一下return语句中的“新字符串”是怎么回事吗
三元运算符是该return
语句中的条件运算符,但new String
不是一种条件运算符,它只是构造一个新的String
:根据条件,该return
语句返回:
,或此
- 新的
对象字符串
这是一个三元运算符
Cake mysteryCake = isChocolate() ? new Cake("Yummy Cake") : new Cake("Gross Cake");
可以这样想:
如果此条件为真,则指定第一个值,否则,指定第二个值
对于return语句,它变成:
如果此条件为真,则返回第一项,否则返回第二项。这是一个三元运算符
Cake mysteryCake = isChocolate() ? new Cake("Yummy Cake") : new Cake("Gross Cake");
可以这样想:
如果此条件为真,则指定第一个值,否则,指定第二个值
对于return语句,它变成:
如果此条件为true,则返回第一个条件,否则返回第二个条件。这是一个内联If表达式,
条件?如果为真:如果为假
可能是因为“研究太少”的想法,因为我认为这是一个有点常见的问题。尽管如此,我认为这是不值得的,你的英语很清楚(而且你是比较新的,+1)我做了研究。“java使用?”,“java返回?”,“java使用字符?”,等等,我什么也得不到。我不知道三元运算符是什么,所以我无法搜索它。如果我在google中键入以下内容,第二个结果就解释了这一切:java”?“operator
。您只需正确搜索。它是一个内联if表达式,条件?如果为真:如果为假
可能是因为“研究太少”的想法,因为我认为这是一个有点常见的问题。尽管如此,我认为这是不值得的,你的英语很清楚(而且你是比较新的,+1)我做了研究。“java使用?”,“java返回?”,“java使用字符?”,等等,我什么也得不到。我不知道三元运算符是什么,所以我无法搜索它。如果我在google中键入以下内容,第二个结果就解释了这一切:java”?“operator
。你只需要正确地搜索。是的,但是它使用了糟糕的编码实践,因为它调用了一个静态方法,而这个方法应该在蛋糕创建之后才知道+1为实际示例;-)。BTW考虑删除<代码> iSCODLO()/<代码>下的括号,看起来更好;isChocolate()周围的大括号是我公司标准的保留。哦,刚刚注意到:新蛋糕(isChocolate()?“美味蛋糕”,“粗蛋糕”)
更可读(如果三元是可读的;-)。是的,但它使用了糟糕的编码实践,因为它调用的是静态方法,只有在创建蛋糕之后才应该知道+1为实际示例;-)。BTW考虑删除<代码> iSCODLO()/<代码>下的括号,看起来更好;isChocolate()周围的大括号是我公司标准的保留。哦,刚刚注意到:新蛋糕(isChocolate()?“美味蛋糕”,“粗蛋糕”)
更可读(如果三元是可读的;-)。