如何判断java类是否匿名?

Net*_*ire 0 java code-analysis class anonymous-class

我有这样的代码:

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

我正在研究一些代码分析模块,我想证明这r1是一个匿名类实例而r2不是.它们都是具有相同基类或接口的有效对象.我怎样才能做到这一点?

细化:正在加载所有类,因此我不需要分析文本.

T.J*_*der 6

还有的isAnonymousClass方法Class,所以:

if (r1.getClass().isAnonymousClass()) {
    // ...
Run Code Online (Sandbox Code Playgroud)