Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用codeModel比较两个对象_Java_Sun Codemodel - Fatal编程技术网

Java 使用codeModel比较两个对象

Java 使用codeModel比较两个对象,java,sun-codemodel,Java,Sun Codemodel,我有以下代码,但我试图不使用direct()方法 JExpression jx = JExpr.direct("java.lang.Thread.currentThread() == android.os.Looper.getMainLooper().getThread()"); 我曾尝试查找有关使用\u if()的文档,我能够找到几个简单的文档,但我不知道如何让它在不使用direct()的情况下生成类似的内容。有人知道怎么做吗,或者知道一个展示一些例子的好地方吗?我试着在javadocs中搜

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

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

我曾尝试查找有关使用
\u if()
的文档,我能够找到几个简单的文档,但我不知道如何让它在不使用direct()的情况下生成类似的内容。有人知道怎么做吗,或者知道一个展示一些例子的好地方吗?我试着在javadocs中搜索,但没有找到任何好的结果。

很抱歉延迟回复

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

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

希望它能解决这个问题