用codeModel比较两个对象

时间:2013-05-27 20:19:10

标签: java sun-codemodel

我有以下代码,但我正在尝试不使用direct()方法。

JExpression jx = JExpr.direct("java.lang.Thread.currentThread() == android.os.Looper.getMainLooper().getThread()");

我已经尝试找到使用_if()的文档我能够使用一些简单的工作,但我不知道如何在不使用direct()的情况下生成类似的东西。有谁知道如何做到这一点或知道一个显示一些例子的好地方?我试过挖掘javadocs,但没有发现任何好的东西。

1 个答案:

答案 0 :(得分:0)

对不起延迟回复,

在生成代码时,您需要参考类,例如

    java.lang.Thread
    android.os.Looper

JCodeModel programContext = new JCodeModel();

JExpression ifConditionExpression = JExpr.(programContext.ref(java.lang.Thread).staticInvoke("currentThread").eq(programContext.ref(android.os.Looper).staticInvoke("getMainLooper").invoke("getThread"))) 

现在将此表达式用作if()表达式。

希望你能解决这个问题。