gpt4 book ai didi

java - 为什么不能使用复合赋值将多个变量设置为 null?

转载 作者:行者123 更新时间:2023-12-02 09:21:21 25 4
gpt4 key购买 nike

众所周知,你可以写

int a;
int b;
b = a = 3;

但是我想写

foo f;
bar b;
f = b = null;

这在语法上无效。大概是因为 null 在分配给 b 时有一个与之关联的类型,并且该类型不能分配给 f,即使引用的值为。这是正确的吗?除了明显的 f = null; 之外,还有其他选择吗? b = null; ?

最佳答案

你的两个片段并不完全相似。更好的类比是:

int a;
double b;
a = b = 3; // error

会产生相同的错误。导致问题的原因是 fb 的类型不同,而不是我们分配了 null。具体来说,(b = null) 的类型是 bar,它不能与 foo 进行赋值比较。

执行单独的任务可能会更好。

关于java - 为什么不能使用复合赋值将多个变量设置为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24938794/

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