【发布时间】:2015-12-09 08:00:34
【问题描述】:
public class NewMain
{
public static void main(String[] args)
{
long num = 100;
System.out.println(xMethod(5,1000000000000L));
}
public static int xMethod(int n, long x)
{
System.out.println("int, long");
return n;
}
public static long xMethod(long n, long x)
{
System.out.println("long, long");
return n;
}
}
对我来说,这看起来很模棱两可。
整数范围内的数字可以是long,用num的声明来说明。
我很好奇如果我有两个方法和两个不同的参数会发生什么。
显然,在编写参数时,数字必须在末尾有一个 L 以表示它是一个 long,而在声明 num 时,这不是必需的。 这是为什么呢?
我首先想到的是,如果它在 int 的范围内,它会自动将其视为 int,当超出该范围时,它将被用作 long。 但是,对于我的第二个参数,除非我输入 L,否则它不会通过。它说它不在 int 的范围内。
有人可以对此给出一些明确的规则吗?
【问题讨论】:
标签: java int long-integer