java中的这种语法写法,this.url = (this.var = null);语法居然没问题,你们见过吗?

程宇寒
博客专家认证
2018-01-05 07:47:38
java中的这种语法写法,语法居然没问题,你们见过吗? this.url = (this.var = null);这句话我没明白什么意思?请教高手?有谁知道这句话什么意思,能详细解释说明下吗?

public class Test
{
protected String url;
private String var;
private int scope;

private void init() {
this.url = (this.var = null);
this.scope = 1;
}
...全文
835 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
无聊的上午 2018-01-29
  • 打赏
  • 举报
回复
引用 9 楼 galiniur0u 的回复:
[quote=引用 8 楼 qq_35470953 的回复:] [quote=引用 6 楼 galiniur0u 的回复:] [quote=引用 4 楼 yqj2065 的回复:] this.url = this.var = null; 不也等价你的两种? [quote=引用 3 楼 lye2000000_super 的回复:] [quote=引用 2 楼 yqj2065 的回复:] 为什么不写成 this.url = this.var = null;
这是什么写法? public class Test { protected String url; private String var; private int scope; private void init() { this.url = (this.var = null); this.scope = 1; } 和 private void init() { this.var = null this.url =this.var; this.scope = 1; } 这两种是等价的。。。。 [/quote][/quote] 应该是为了防止读代码的时候发生歧义吧。[/quote] java不能这样写,js可以写成a=b=1[/quote] 为啥不能这样写?你写的报错了?[/quote] 同学看清楚 我说的是js可以写成a=b=1 var a=b=1; console.log(a); console.log(b); java那个我收回 确实可以 int b; int a=(b=1);//a=b=1 System.out.println(a); 但是很少人会这么去用,你那里需要这样赋值的点呢?请给我一个场景
galiniur0u 2018-01-29
  • 打赏
  • 举报
回复
引用 8 楼 qq_35470953 的回复:
[quote=引用 6 楼 galiniur0u 的回复:] [quote=引用 4 楼 yqj2065 的回复:] this.url = this.var = null; 不也等价你的两种? [quote=引用 3 楼 lye2000000_super 的回复:] [quote=引用 2 楼 yqj2065 的回复:] 为什么不写成 this.url = this.var = null;
这是什么写法? public class Test { protected String url; private String var; private int scope; private void init() { this.url = (this.var = null); this.scope = 1; } 和 private void init() { this.var = null this.url =this.var; this.scope = 1; } 这两种是等价的。。。。 [/quote][/quote] 应该是为了防止读代码的时候发生歧义吧。[/quote] java不能这样写,js可以写成a=b=1[/quote] 为啥不能这样写?你写的报错了?
无聊的上午 2018-01-26
  • 打赏
  • 举报
回复
引用 6 楼 galiniur0u 的回复:
[quote=引用 4 楼 yqj2065 的回复:] this.url = this.var = null; 不也等价你的两种? [quote=引用 3 楼 lye2000000_super 的回复:] [quote=引用 2 楼 yqj2065 的回复:] 为什么不写成 this.url = this.var = null;
这是什么写法? public class Test { protected String url; private String var; private int scope; private void init() { this.url = (this.var = null); this.scope = 1; } 和 private void init() { this.var = null this.url =this.var; this.scope = 1; } 这两种是等价的。。。。 [/quote][/quote] 应该是为了防止读代码的时候发生歧义吧。[/quote] java不能这样写,js可以写成a=b=1
「已注销」 2018-01-18
  • 打赏
  • 举报
回复
有什么可奇怪的,C 语言时代就开始这么写了,Java 一样的搬过来了:
try (BufferedReader br = Files.newBufferedReader(path)) {
	String line;
	while ((line = br.readLine()) != null) {
		//
	}
}
Yunc2 2018-01-17
  • 打赏
  • 举报
回复
 
int len = 0;
FileInputStream fis = null;
byte [] buf = new byte[1024];
while((len = fis.read(buf))!=-1){
//跟这个差不多的意思
}

//下面这种写法也是没问题的
double a = .5;
double b = 5.;
galiniur0u 2018-01-17
  • 打赏
  • 举报
回复
引用 4 楼 yqj2065 的回复:
this.url = this.var = null; 不也等价你的两种? [quote=引用 3 楼 lye2000000_super 的回复:] [quote=引用 2 楼 yqj2065 的回复:] 为什么不写成 this.url = this.var = null;
这是什么写法? public class Test { protected String url; private String var; private int scope; private void init() { this.url = (this.var = null); this.scope = 1; } 和 private void init() { this.var = null this.url =this.var; this.scope = 1; } 这两种是等价的。。。。 [/quote][/quote] 应该是为了防止读代码的时候发生歧义吧。
yqj2065 2018-01-16
  • 打赏
  • 举报
回复
this.url = this.var = null; 不也等价你的两种?
引用 3 楼 lye2000000_super 的回复:
[quote=引用 2 楼 yqj2065 的回复:] 为什么不写成 this.url = this.var = null;
这是什么写法? public class Test { protected String url; private String var; private int scope; private void init() { this.url = (this.var = null); this.scope = 1; } 和 private void init() { this.var = null this.url =this.var; this.scope = 1; } 这两种是等价的。。。。 [/quote]
  • 打赏
  • 举报
回复
引用 2 楼 yqj2065 的回复:
为什么不写成 this.url = this.var = null;
这是什么写法? public class Test { protected String url; private String var; private int scope; private void init() { this.url = (this.var = null); this.scope = 1; } 和 private void init() { this.var = null this.url =this.var; this.scope = 1; } 这两种是等价的。。。。
yqj2065 2018-01-06
  • 打赏
  • 举报
回复
为什么不写成 this.url = this.var = null;
youyouke 2018-01-05
  • 打赏
  • 举报
回复
public class Test { protected String url; private String var; private int scope; private void init() { this.url = (this.var = null);//先计算this.var=null,值为空,再计算this.url=null;,所以肯定没问题呀,()的优先级高吗! this.scope = 1; }

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧