java - 用于 ?在返回声明中

标签 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);
}

什么是“?”正在做?当我们讨论这个主题时,任何人都可以解释 return 语句中的“新字符串”发生了什么吗?这是某种条件吗?

最佳答案

这是一个ternary operator它相当于:

if((beginIndex == 0) && (endIndex == count)) {
  return this;
} else { 
  return new String (offset + beginIndex, endIndex - beginIndex, value);
}

关于java - 用于 ?在返回声明中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11657289/

相关文章:

java - ReSTLet 使用 post web 服务,添加 json 字符串作为表示

java - Hibernate 和 @JoinFormula : org. hibernate.mapping.Formula 无法转换为 org.hibernate.mapping.Column

java - 公共(public)方法不返回变量

java - 显示另一个类的信息

java - Java 中的 void 方法中的 return 关键字有什么作用?

cmd中的Java unicode字符错误

java - filterWhen 与 flatMap 结合使用时会在 Reactor 中抛出异常

java - 是否可以从方法返回

java - 如何访问另一个java包中的静态数组列表

c++ - “return obj(value); 返回什么?