Java中python的dir()的替代是什么?

时间:2015-10-29 08:22:34

标签: java python methods

在通过在线课程学习java时,我遇到了使用辅助类的类型转换。例如:

double d = 5.99;
double do = new Double(d);
int i = do.intvalue();

但是如果我不知道现有的方法,他们没有解释如何找到像do.intvalue()这样的方法。在Python中,我可以执行dir(do)并列出所有方法。如何在Java中检查相同内容?

1 个答案:

答案 0 :(得分:3)

您可以使用javap。

javap java.lang.Double | grep -i int
public static final int MAX_EXPONENT;
public static final int MIN_EXPONENT;
public static final int SIZE;
public int intValue();
public int hashCode();
public int compareTo(java.lang.Double);
public static int compare(double, double);

public int compareTo(java.lang.Object);

例如。如果你看到System.out.println(),但想知道还有什么可用,你可以随时查看

javap -c java.lang.System | grep -i out
public static final java.io.PrintStream out;
public static void setOut(java.io.PrintStream);
   4: invokestatic  #4                  // Method setOut0:(Ljava/io/PrintStream;)V
   8: putstatic     #98                 // Field out:Ljava/io/PrintStream;

然后执行javap java.io.PrintStream