在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);
}
是什么 '?'在干嘛当我们讨论这个话题时,谁能在return语句中解释“新字符串”发生了什么?这是有条件的吗?
最佳答案
这是一个ternary operator,它等效于:
if((beginIndex == 0) && (endIndex == count)) {
return this;
} else {
return new String (offset + beginIndex, endIndex - beginIndex, value);
}