我正在尝试从我现有的Python知识中学习Java。我知道Java对象可以使用stream
方法,就像Python对象具有toString()
方法一样,但我不知道如何翻译Python的__str__()
同样的方式。
这将是我试图转换为Java的代码的Python等价物:
__int__()
答案 0 :(得分:1)
Python中的__int__
方法允许class
插入语言中内置的int()
功能 - 以解析"解析"任意class
到int
的实例。
Java中没有等效的东西,但您可以创建一个类似的构造。这需要你明确。
public class Robot {
private int serial;
//ctor, getters, setters etc etc
public int toInt() {
return serial;
}
public static int toInt(Robot robot) {
return robot.toInt();
}
}
然后你可以做类似
的事情//some class, synax elided
import static com.pkg.Robot.toInt;
System.out.println(toInt(new Robot()));
由于Java中没有int()
功能,这并不能真正为您提供更多功能:
System.out.println(new Robot().toInt());
甚至更清楚:
System.out.println(new Robot().getSerial());
如果您想要更通用的内容,可以创建interface
:
public interface Intable {
int toInt();
}
然后,您可以implements
您认为应该能够将自己变成Interface
的课程中的int
。