【问题标题】:compare two objects with codeModel用 codeModel 比较两个对象
【发布时间】:2013-05-22 17:10:07
【问题描述】:

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

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

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

【问题讨论】:

    标签: java sun-codemodel


    【解决方案1】:

    抱歉,回复延迟,

    在生成代码时,您需要对类进行引用,例如

        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() 表达式。

    希望你能解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 2014-01-26
      • 2012-08-17
      • 2014-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多