为了账号安全,请及时绑定邮箱和手机立即绑定

字符串类如何覆盖+运算符?

字符串类如何覆盖+运算符?

浮云间 2019-10-20 16:12:26
字符串类如何覆盖+运算符?为什么在Java中,当String是类时,您可以使用+操作符添加String?在String.java代码我没有为这个操作符找到任何实现。这个概念是否违反了目标导向?
查看完整描述

3 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

的操作数检查的是Java编译器特性。+接线员。并根据操作数生成字节码:

  • 对于字符串,它生成连接字符串的代码。
  • 对于数字,它生成代码以添加数字。

这就是Java规范的意思:

算子+和-被称为加法算子。可加性表达:多重-表达

加法算子具有相同的优先级,并且在语法上是左结合的(它们从左到右分组).如果+运算符是String,则操作为字符串连接。

否则,则为+运算符必须是可转换为原始数字类型的类型(§5.1.8),否则会发生编译时错误。

在每种情况下,二进制的每个操作数的类型。-运算符必须是可转换为原始数字类型的类型(§5.1.8),否则会发生编译时错误。



查看完整回答
反对 回复 2019-10-21
?
慕少森

TA贡献2019条经验 获得超9个赞

首先,(+)是重载的,而不是重写的。

Java语言提供了对字符串连接操作符(+)的特殊支持,该操作符已经为Java Strings对象重载。

  1. 如果左手边的操作数是字符串,则作为连接。

  2. 如果左侧操作数是整数,则它用作加法运算符。



查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 390 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信