如何判断javaclass是否匿名?
How to determine whether java class is anonymous?
我有这样的代码:
package x.y.z;
public class Test
{
private static class MyRunnable implements Runnable
{
@Override
public void run()
{
System.out.println("World");
}
}
public static void main(String[] args)
{
final Runnable r1 = new Runnable() {
@Override
public void run()
{
System.out.println("Hello");
}
};
final Runnable r2 = new MyRunnable();
r1.run();
r2.run();
}
}
我正在研究一些代码分析模块,我想证明 r1
是一个匿名的 class 实例而 r2
不是。它们都是具有相同基础 class 或接口的有效对象。我该怎么做?
细化: class全部加载中,不需要分析文字
Class
上有 isAnonymousClass
method,所以:
if (r1.getClass().isAnonymousClass()) {
// ...
我有这样的代码:
package x.y.z;
public class Test
{
private static class MyRunnable implements Runnable
{
@Override
public void run()
{
System.out.println("World");
}
}
public static void main(String[] args)
{
final Runnable r1 = new Runnable() {
@Override
public void run()
{
System.out.println("Hello");
}
};
final Runnable r2 = new MyRunnable();
r1.run();
r2.run();
}
}
我正在研究一些代码分析模块,我想证明 r1
是一个匿名的 class 实例而 r2
不是。它们都是具有相同基础 class 或接口的有效对象。我该怎么做?
细化: class全部加载中,不需要分析文字
Class
上有 isAnonymousClass
method,所以:
if (r1.getClass().isAnonymousClass()) {
// ...