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

sco*_*ott 5 python java methods

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

double d = 5.99;
double do = new Double(d);
int i = do.intvalue();
Run Code Online (Sandbox Code Playgroud)

然而,他们没有解释我如何找到方法,do.intvalue()如果我不知道现有的方法.在Python中,我可以做一个dir(do),它会列出所有方法.如何在Java中检查相同的内容?

noh*_*hup 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);
Run Code Online (Sandbox Code Playgroud)

公共 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;
Run Code Online (Sandbox Code Playgroud)

然后做javap java.io.PrintStream