You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中是否支持串联赋值?能否在单条语句中为两个变量赋值?

Java中的串联赋值:完全可行且常用

当然可以!你给出的代码this.edge = this.side = null;在Java里是完全合法的,这是一种很常见的串联赋值写法。

背后的原理

Java的赋值运算符是有返回值的——赋值表达式本身会返回被赋予的值。所以这条语句的执行顺序是:

  1. 先执行this.side = null,这个表达式的结果就是null
  2. 再把这个返回的null赋值给this.edge
    最终两个变量都会被设置为null。

不同类型的示例

除了引用类型的串联赋值,基本类型也支持这种写法:

  • 引用类型示例:
    String firstName = lastName = "Smith";
    // 等价于 lastName = "Smith"; firstName = lastName;
    
  • 基本类型示例:
    int age = score = 90;
    // 等价于 score = 90; age = score;
    

注意事项

要确保变量的类型兼容:如果this.side和this.edge的类型不兼容(比如一个是String,一个是Integer),编译器会报错。另外,基本类型不能赋值null,所以像int a = b = null;这种写法是不合法的。

总的来说,这种串联赋值能让代码更简洁,只要类型匹配就可以放心使用~

内容的提问来源于stack exchange,提问作者Andreu Alcon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:52:40