当前位置: 首页 > 面试题库 >

\+ Java中String的运算符

卫松
2023-03-14
问题内容

几分钟前,我看到了这个问题,并决定查看java String类,以检查+运算符是否有一些重载。

我什么也找不到,但我知道我可以做到

String ab = "ab";
String cd = "cd";
String both = ab + cd; //both = "abcd"

在哪里实施?


问题答案:

从精细手册中:

Java语言为字符串连接运算符(+)以及将其他对象转换为字符串提供了特殊支持。字符串连接是通过StringBuilder(或StringBuffer)类及其append方法实现的。字符串转换是通过toString方法实现的,该方法由Object定义并由Java中的所有类继承。有关字符串连接和转换的其他信息,请参见
Java语言规范 ,Gosling,Joy和Steele 。

请参阅JLS中的字符串连接。



 类似资料:
  • 问题内容: 当String是类时,为什么在Java中可以使用+运算符添加String?在代码中,我没有找到该操作符的任何实现。这个概念是否违反了面向对象? 问题答案: 让我们看一下下面的Java简单表达式 编译器在内部进行转换,并用于将整数“添加”到字符串中。 5.1.11。字符串转换 可以通过字符串转换将任何类型转换为String类型。 首先将原始类型T的值x转换为参考值,就像通过将其作为适当的

  • 问题内容: 任何人都可以通过一些示例解释在Java中使用^运算符吗? 问题答案: 与大多数语言中的^相同,只是XOR。

  • 问题内容: 考虑以下代码: 到底为什么呢? 我会这样计算: 但这是3。我不明白为什么在预先增加到时第二次不进行增加。 问题答案: 让我们首先关注看起来异常的行: 此处的运算符是(分配),(一元加号)和(预递增)。没有操作员。Java将其解释为两个运算符:和。添加适当的空格会更清楚: 现在让我们分析处理过程: 第一次迭代:和是。 预先增加到,这就是的结果。一元不执行任何操作,而是分配给。然后出现迭代

  • 问题内容: 有人可以向我解释为什么可以这样做: 没有操作符重载怎么办(在这种情况下为“ =“) 我来自C ++背景,因此可以解释… 问题答案: 在这种情况下,没有过载。与不同的Java片段是的定义-Java编译器将“”中的任何内容转换为,因此在您的示例中也是一个简单的赋值。在中,编译器将“”转换为,因此需要从转换为。

  • 问题内容: 如何与大整数一起使用?喜欢 Eclipse表示未为BigInteger定义运算符%。 有任何想法吗? 问题答案: 像这样: 或者,正如用户Duncan在评论中建议的那样,我们可以像这样完全删除if语句: