gpt4 book ai didi

java - "+"Java 类运算符

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:06 24 4
gpt4 key购买 nike

我有这样一个类:

private static class Num {
private int val;

public Num(int val) {
this.val = val;
}
}

是否可以使用“+”运算符向类的对象添加内容?

Num a = new Num(18);
Num b = new Num(26);
Num c = a + b;

最佳答案

不,你不能。 + 仅对数字、字符和 String 进行重载,您不能定义任何额外的重载。

有一种特殊情况,当您可以连接任何对象的字符串表示时 - 如果前两个操作数中有一个 String 对象,则调用 toString()在所有其他对象上。

这是一个例子:

int i = 0;
String s = "s";
Object o = new Object();
Foo foo = new Foo();

int r = i + i; // allowed
char c = 'c' + 'c'; // allowed
String s2 = s + s; // allowed
Object o2 = o + o; // NOT allowed
Foo foo = foo + foo; // NOT allowed
String s3 = s + o; // allowed, invokes o.toString() and uses StringBuilder
String s4 = s + o + foo; // allowed
String s5 = o + foo; // NOT allowed - there's no string operand

关于java - "+"Java 类运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5883886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com