autoboxing

    4熱度

    2回答

    我們如何在JNI中新建基元類型。我有一個返回jobject的函數。它可能返回jint,jchar等 有NewString,爲什麼不NewInteger,NewCharacter,NewDouble,等有一個在目前JNI層沒有自動裝箱。 我可以使用NewObject調用,但是這會對創建原始類型造成太大的開銷。 jobject NewInteger(JNIEnv* env, jint value)

    1熱度

    1回答

    public class Test { Integer i; int j; public static void main (String [] args) { Test t = new Test(); t.go(); } public void go() { j=i; System.out.p

    0熱度

    2回答

    隨着autounboxing,這份聲明將自動工作: int myPrimitive = (Integer) doIt(); 但是,如果我想明確地從Integer這裏轉換爲int在單行線,我在哪裏必須把括號?

    5熱度

    4回答

    有人可以向我解釋在JAVA中使用Integer,Boolean等替換它們的基本類型嗎? 我似乎無法把握他們提供的優勢。他們似乎創建了處理空值的不必要的問題。 謝謝!

    2熱度

    2回答

    您認爲Java中的自動裝箱是一種多態嗎?換句話說,你認爲自動裝箱擴展了Java的多態功能嗎? Scala中的隱式轉換怎麼樣? 我認爲他們都是多態性的例子。這兩個功能都允許以統一的方式處理不同數據類型的值。 我的同事不同意我的看法。誰是對的?

    12熱度

    4回答

    我有點困惑:我有一個函數,它將一個對象作爲參數。但編譯器不會抱怨,如果我只是傳遞一個基元,甚至可以將布爾基元識別爲布爾對象。爲什麼? public String test(Object value) { if (! (value instanceof Boolean)) return "invalid"; if (((Boolean) value).booleanValue(

    11熱度

    6回答

    Autoboxing是相當可怕的。雖然我完全理解==和.equals之間的區別我不能不幫助有後續錯誤的地獄了我: final List<Integer> foo = Arrays.asList(1, 1000); final List<Integer> bar = Arrays.asList(1, 1000); System.out.println(foo.get(0) ==

    6熱度

    3回答

    當不使用對構造函數的調用而初始化java.lang.Double對象而是使用基元時發生了什麼?它似乎工作,但我不知道爲什麼。編譯器是否存在某種隱式轉換?這是使用的Java 5. public class Foo { public static void main(String[] args) { Double d = 5.1; System.out.print

    5熱度

    4回答

    據我所知,下面的代碼將不工作 Float a=3 因爲其翻譯爲一個浮點數= Integer.valueOf(3)。我們將在LHS上有一個Float引用,並且在RHS上有一個Integer對象,這是不兼容的。但是: 1. `Short a=3;` 這工作,但在這裏,我們必須在LHS和RHS中Integer對象簡短的參考。 2. Float a=(Float) 3 如果我們沒有類型強制轉換3

    16熱度

    7回答

    public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here int a1 = 1000, a2 = 1000;