我有课:
class Employee{...}
然后:
Employee aEmployee = new Employee(...);
int i = 10;
String str = aEmployee + i;
编译时会产生错误,为什么?
编辑:
我没有重写 Employee
类中的 toString()
方法,但如果我尝试这样做:
Employee aEmployee = new Employee(...);
String h = "hello";
String str = aEmployee + h;
这次就可以了,无论是编译还是运行。
那么:为什么将int
变量i
改为String
变量h
后就可以了呢?
最佳答案
aEmployee
不是 String
,它是一个 Object
。
如果不知道您的 Employee
对象是如何设置的,就很难为您提供合适的解决方案,但是......
String str = aEmployee.toString() + i;
将阻止编译器提示,但可能不会给您期望的结果。
您最好尝试使用 Employee
的已知属性来执行此操作
String str = aEmployee.aMethodThatReturnsString() + i;
关于java - 使用 "+"组合两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12170318/