2011-07-28 14 views
1

是否可以在由com.sun.codemodel生成的代碼中使用三元運算符?三元運算符支持代碼模型?

我希望生成以下語句:

this((A==null)?A.getSomething:null) 
+1

'(A == NULL)A.getSomething:null'因此,如果是空你調用它的方法?哎喲! – Thomas

+2

我想這是爲了在條件(或其他操作數交換)中使用'A!= null'。 –

+0

@Paulo,我希望如此,因爲這是一個代碼設計失敗 – RMT

回答

2

com.sun.codemodel.JOp.cond應該已經生成一個三元運算符。見source

public static JExpression cond(JExpression cond, JExpression ifTrue, JExpression ifFalse) { 
    return new TernaryOp("?", ":", cond, ifTrue, ifFalse); 
}