gpt4 book ai didi

java - Java 中的 'short s = 1' 和 '(short) 1' 有什么区别?

转载 作者:搜寻专家 更新时间:2023-11-01 02:41:45 25 4
gpt4 key购买 nike

我遇到一个参数类型为short的方法调用,比如

foo (short s){...}

调用的时候想到了两种方案:

一个是:

foo((short) 1);

还有一个:

short s = 1;
foo(s);

它们有什么区别,哪个更好?

最佳答案

1 在 Java 中默认被视为 int。

因此,当您执行 ((short)1) 时,您将 1 作为短参数传递给函数。接收参数应为短类型。

而当 short s =1 时,它显然是一个 short 整数。

请记住,在这两种情况下,shorts 将在执行操作时转换为 int(这称为类型提升)。而且,如果使用 double 操作数,这些 int 将被提升为 double。

What's the difference between them, and which is better?

两者最终都在做相同的操作(传递一个短变量作为参数),而且它们都同样更好。但是,您应该避免使用 short 整数,除非非常需要,因为它有一些缺点(当您不小心尝试将 int/long 存储为 short 时会导致编译时错误 ).

关于java - Java 中的 'short s = 1' 和 '(short) 1' 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31645447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com