Java 返回数字时是否应显式指定返回类型?
考虑一些返回Java 返回数字时是否应显式指定返回类型?,java,performance,Java,Performance,考虑一些返回double的方法。在某些情况下,我需要返回默认的零值。我可以显式地将其指定为return0d,但java允许我们通过自动转换将其指定为return0 这种类型的转换是在编译时还是在运行时进行的?不指定类型(如性能)是否会产生任何潜在的负面后果?这称为错误。没有理由在0上使用0d:它是一个,因此编译器会自动将其转换为0d 如果查看返回的字节码0与返回的字节码0d: double a() { return 0; } double b() { return 0d; } 你可以看到它完全
double
的方法。在某些情况下,我需要返回默认的零值。我可以显式地将其指定为return0d
,但java允许我们通过自动转换将其指定为return0
这种类型的转换是在编译时还是在运行时进行的?不指定类型(如性能)是否会产生任何潜在的负面后果?这称为错误。没有理由在0
上使用0d
:它是一个,因此编译器会自动将其转换为0d
如果查看返回的字节码0
与返回的字节码0d
:
double a() { return 0; }
double b() { return 0d; }
你可以看到它完全一样:
double a();
Code:
0: dconst_0
1: dreturn
double b();
Code:
0: dconst_0
1: dreturn
因此,性能不会有任何差异。它被称为。没有理由在0
上使用0d
:它是一个,因此编译器会自动将其转换为0d
如果查看返回的字节码0
与返回的字节码0d
:
double a() { return 0; }
double b() { return 0d; }
你可以看到它完全一样:
double a();
Code:
0: dconst_0
1: dreturn
double b();
Code:
0: dconst_0
1: dreturn
因此,不会有任何性能差异