Python的__int __()的Java对象方法:

时间:2018-06-10 16:05:28

标签: java python methods int

我正在尝试从我现有的Python知识中学习Java。我知道Java对象可以使用stream方法,就像Python对象具有toString()方法一样,但我不知道如何翻译Python的__str__()同样的方式。

这将是我试图转换为Java的代码的Python等价物:

__int__()

1 个答案:

答案 0 :(得分:1)

Python中的__int__方法允许class插入语言中内置的int()功能 - 以解析"解析"任意classint的实例。

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