【发布时间】:2015-03-16 18:31:03
【问题描述】:
我对 Java 中的运算符重载有疑问。我知道 Java 不支持运算符重载,但是下面的有效 Java 程序中的“+”运算符是做什么的:
import java.util.*;
import java.lang.*;
import java.io.*;
class OperatorOverloadingTest
{
public static void main (String[] args) throws java.lang.Exception
{
String str1 = "Operator ";
String str2 = "overloading";
String str3 = str1+str2;
System.out.println(str3);
}
}
Stdout:
Operator overloading
【问题讨论】:
-
我怀疑发帖者知道这一点,但问的是 Java 在幕后做了什么。即它是在后台调用一个函数来做+
-
@tnw:当然这是非常明显的部分:D!我想了解的是Java是否具有内置的运算符重载功能。但是,当我们说 Java 不支持运算符重载时,实际上是否意味着“Java 不允许我们使用它用于 String 的内置运算符重载功能”。
-
我不太明白您的评论.. 但要解决您的问题,不,Java 不允许运算符重载。请看这个答案:stackoverflow.com/questions/77718/… 另外,我记得之前在某处读过,字符串连接中的“+”被广泛认为是设计缺陷。
-
不确定它是否重复,因为问题是询问您是否可以做到,但 java 如何实现它
标签: java string operator-overloading