2012-06-03 355 views

回答

1

我不明白你的問題。我只是用Java的Short來試一試 - 它也沒有默認的構造函數。

一切按預期工作,除非你沒有初始化委託對象,你會得到一個NPE。

是否有可能您是using @Delegate incorrectly?委託不會修飾現有的類,它允許您在自己的類中使用現有的類方法。這就像extend,但沒有類繼承。

示例代碼:

class Foo { 
    @Delegate Short num 
    String bar 
    String toString() { "$bar: $num" } 
} 

def f = new Foo(bar: 'bob', num: 34 as Short) 
println f // OK 
println f.doubleValue() // OK 

f = new Foo() 
println f.doubleValue() // NPE 

(可替換地,提供了一些有用的信息,例如實際的錯誤和堆棧跟蹤,和示例代碼,將獲得您更多有用的響應)

相關問題