我有以下Vec2i
class and primary constructor一個科特林數學LIB:爲什麼Netbeans的抱怨歧義而代替的IntelliJ不
data class Vec2i(override var x: Int, override var y: Int) : Vec2t<Int>()
然後Vec2i
還,幾個次級構造中,其中一個應該是攔截所有另一個number types:
constructor(x: Number, y: Number) : this(x.i, y.i)
Idea下的所有東西都編譯並運行。我用一個單獨的java項目測試了工件。
如果我切換IDE,相同的工件不會在java項目中運行,Netbeans會抱怨兩者之間的不明確性。
爲什麼?
編輯:從一些進一步的分析,原來Netbeans抱怨,因爲其中一個座標是int
,其他Integer
。 試穿理念一樣,它說:
無法解決構造
那麼,爲什麼調用帶有costructor (int, int)
或(Integer, Integer)
是好的,但(int, Integer)
不解決,次級構造和挑釁歧義?
http://stackoverflow.com/questions/564/what-is-the-difference-between-an-int-and-an-integer-in-java-and-c – hellyale
呃,清楚,如果你想要回答,我會接受 – elect
不確定這是否足夠答案,我只是認爲這會有所幫助。 – hellyale