猿问

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

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

为什么在Java中,当String是类时,您可以使用+操作符添加String?在String.java代码我没有为这个操作符找到任何实现。这个概念是否违反了目标导向?


浮云间
浏览 391回答 3
3回答

ABOUTYOU

的操作数检查的是Java编译器特性。+接线员。并根据操作数生成字节码:对于字符串,它生成连接字符串的代码。对于数字,它生成代码以添加数字。这就是Java规范的意思:算子+和-被称为加法算子。可加性表达:多重-表达加法算子具有相同的优先级,并且在语法上是左结合的(它们从左到右分组).如果+运算符是String,则操作为字符串连接。否则,则为+运算符必须是可转换为原始数字类型的类型(§5.1.8),否则会发生编译时错误。在每种情况下,二进制的每个操作数的类型。-运算符必须是可转换为原始数字类型的类型(§5.1.8),否则会发生编译时错误。

慕少森

首先,(+)是重载的,而不是重写的。Java语言提供了对字符串连接操作符(+)的特殊支持,该操作符已经为Java Strings对象重载。如果左手边的操作数是字符串,则作为连接。如果左侧操作数是整数,则它用作加法运算符。
随时随地看视频慕课网APP

相关分类

Java
我要回答