gpt4 book ai didi

java - 如何让实例在 Java 中直接返回字段的字符串,就像在 Python 中使用 __radd__ 所做的那样?

转载 作者:行者123 更新时间:2023-12-01 22:06:38 26 4
gpt4 key购买 nike

在Python中,如果我想要一个实例直接返回字段的字符串,我可以这样做:

class X:

def __init__(self, field):
self.field = field
self.__repr__ = self.__str__

def __radd__(self, other):
return other + self.field

def __str__(self):
return self.field

x = X("example.")
print("This is an " + x)

在Java中,我不知道该怎么做......

public class X {

public String field;

public X(String field) {
this.field = field;
}

}

public class Main {

public static void main(String[] args) {

X x = new X("example.");
System.out.println("This is an " + x.field); // Just x would return the address of the object in memory.

}

}

最佳答案

如果我理解你的问题,你可以在 X覆盖 toString,例如,

@Override
public String toString() {
return field;
}

然后你可以使用

System.out.println("This is an " + x);

这将隐式调用toString(例如相当于)

System.out.println("This is an " + x.toString());

关于java - 如何让实例在 Java 中直接返回字段的字符串,就像在 Python 中使用 __radd__ 所做的那样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32641314/

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