boxing

    1熱度

    2回答

    我讀jls §5.1.7和它說,有9種拳術,第九一個是拳擊From the null type to the null type 然後我讀到的nullUnboxing Conversion拋出一個NullPointerException。好的,這很明顯。 隨後的null拳擊爲什麼不拋出一個NullPointerException,什麼是使用拳null價值?

    3熱度

    4回答

    我有一個方法需要兩個Doublesa和b(注意大寫「D」)並計算差異。如果只有一個參數是null,結果應爲999999,否則返回兩個數字之間的差值。 以下(工作)代碼在FindBugs中給我一個「可怕的」警告,我通常會盡量避免代碼中出現高排名的警告。但是,我認爲代碼既簡短又可讀,而我認爲的所有其他內容都使其不易讀。恕我直言,使用==在這個的情況下是完全正確的。 public double foo(

    4熱度

    3回答

    javac或JIT是否優化不必要的自動裝箱?假設我們有這段代碼。 for(int i=0; i<100000; i++) { f(i); } void f(Integer i) { System.out.println(i); } 這段代碼如何得到優化?我猜f將內聯,但不必要的拳擊int(它不會被修改,永遠不會是null)。我們假設該方法不是從任何其他代碼片段調用的

    4熱度

    2回答

    Java 8中是否有任何方式在原始流上使用Stream::collect(Collector)? 通常一個Stream<Integer>如實施例具有用於收集兩種方法: <R,A> R collect(Collector<? super T,A,R> collector) <R> R collect(Supplier<R> supplier, BiConsumer<R,? super T> accu

    0熱度

    1回答

    嗨可能我知道有什麼問題,編譯器給我 方法GOS(INT [])是模糊的類型主要 這裏的代碼 public class Main { public static void main(String[] args){ new Main().gos(1); } public void gos(int...ls){ System.out.prin

    25熱度

    1回答

    這是我直到今天才注意到的東西。顯然,當執行基於相等的操作時,大量使用的元組類(如Tuple<T>,Tuple<T1, T2>等)的.NET實現會導致對值類型的裝箱懲罰。 這裏是怎麼類框架中的一種實現(通過ILSpy源): public class Tuple<T1, T2> : IStructuralEquatable { public T1 Item1 { get; private

    1熱度

    5回答

    int i = 5; string str = i.ToString(); String str1 =(String)i.ToString(); 作爲Int's爲值類型和String的是參考類型 因此無論是拳擊或開箱??? 編輯: 現在是第二個聲明無論是拳擊還是拆箱???

    0熱度

    1回答

    由於Int32是一個結構,它意味着它是一個System.ValueType(它繼承System.Object),當我將一個Integer傳遞給一個期望Object的函數時,爲什麼CLR盒子呢? CLR是否假設Object始終是引用類型? 這是一個有點混亂,認爲值類型「是」的對象,但是當你要通過它「作爲」對象,需要框它... 我是誰是想知道的唯一一個這個?

    8熱度

    3回答

    在C#語言規範5.0版,在1.3節中,這樣說: 一個接口類型可以具有作爲其內容一個空引用,對實現該一個類類型的 實例的引用接口類型或 參考對實現該 接口類型 我沒有問題與三分之二那些語句的值類型的裝箱值。然而,最後一個讓我困惑。接口類型如何保存實現該接口類型的值類型的裝箱值?我認爲值類型不能實現接口類型?或者是說盒裝值實現了接口類型?如果是這種情況,盒裝值如何實現接口類型? 我有一個麻煩理解這一切

    5熱度

    1回答

    盒裝可空基本類型可投到枚舉但盒裝枚舉類型不能轉換可空類型。 同樣, 盒裝爲空的枚舉可以轉換到基本類型,但盒裝的基礎類型不能轉換可空枚舉。 好吧,我知道「盒裝可空字體」不是描述它的最好方式,但它是爲了這個問題。我知道這是正在裝箱的基礎值類型。 我會用示例展示它。假設我有一個enum和int作爲基礎類型。 enum Sex { Male, Female } 案例一: int? i = 1; ob