簡體   English   中英

Java將int重載為long

[英]Java overloading int to long

參考Java 重載 - long 和 float ,其中提到了 JLS #15 中的規則

以下規則定義了原始類型之間的直接超類型關系:

雙 >1 浮點數

浮動 >1 長

長 >1 整數

整數 >1 個字符

int >1 短

短 >1 字節

其中“S > 1 T”表示“T 是 S 的直接子類型”,根據本節上方的 JLS #4.10。

為什么下面的代碼打印浮動?

int q = 2;
a(q);

void b(long a) {
        System.out.println("long");
}

void a(float a) {
        System.out.println("float");
}

只有一種名為a方法接受浮點參數,

Java 支持從floatint關系(直接超類型關系)(在中間使用long ):

浮動 > 長 - > 整數

如果重命名方法ba ,你將與執行方法long如你預期

void a(long a) {
        System.out.println("long");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM