<分区>
在通过在线类(class)学习 Java 时,我遇到了使用辅助类的类型转换。例如:
double d = 5.99;
double do = new Double(d);
int i = do.intvalue();
但是他们没有解释如果我不知道现有的方法,我如何才能找到像 do.intvalue()
这样的方法。在 Python 中,我可以执行 dir(do)
,它会列出所有方法。我如何在 Java 中检查相同的内容?
<分区>
在通过在线类(class)学习 Java 时,我遇到了使用辅助类的类型转换。例如:
double d = 5.99;
double do = new Double(d);
int i = do.intvalue();
但是他们没有解释如果我不知道现有的方法,我如何才能找到像 do.intvalue()
这样的方法。在 Python 中,我可以执行 dir(do)
,它会列出所有方法。我如何在 Java 中检查相同的内容?
最佳答案
您可以使用 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
关于java - python 的 dir() 在 Java 中的替代品是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33409127/