为什么默认是'int',而不是'byte'?[重复]


请解释一下,为什么我写了4个重载方法并调用它=>它选择了’int’作为默认值的方法,而不是’byte’,这是比较接近的,因为它可以存储-127到128的值?

class Main {
    public static void method(short s) {
        System.out.println("short");
    }

    public static void method(byte b) {
        System.out.println("byte");
    }

    public static void method(int i) {
        System.out.println("int");
    }

    public static void method(long l) {
        System.out.println("long");
    }

    public static void main(String[] args) {
        // put your code here
        method(10);
    }
}

解决方案:

因为 Java语言规范 说的。

3.10.1. 整数字 说。

一个整数字 属于 long 如果它的后缀是一个ASCII字母 Ll (ell);否则,它 属于 int (§4.2.1).

所以你的数字文字 10 属于 int.

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何将公式复制到其他列

2022-9-13 14:18:40

未分类

如何使输入代码与打印代码在同一行[重复]。

2022-9-13 14:29:26

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索