1
我發現一個構造是這樣的:如何使用getDeclaredConstructor如果我的構造函數接受基元類型?
type.getDeclaredConstructor(Integer.class);
這工作時類型是
MyType {
public MyType(Integer a);
}
然而,當類型爲
MyType {
public MyType(int a);
}
這不工作,我不想用Integer
代替int
,因爲我被告知可能會產生不必要的開銷。
我該怎麼辦?
關於被告知您可能發生不必要的開銷,這不是真的,這不會影響您的應用程序性能。你被告知的開銷是整數的裝箱/拆箱,甚至優化整數的-128,+127 –
@Raffaele Rossi如果我有MyClass(整數i)並且不會進行裝箱/拆箱操作MyClass(2)? –
如果您在MyClass(Integer i)上調用了新的MyClass(2),那麼裝箱將不會發生,因爲在您的JVM中應該存在與2相對應的緩存Integer對象(可能取決於JVM實現) –