我遇到了这样的代码,其中没有充分理由将变量分配给自己。
RecyclerView
对我来说没有多大意义。这背后有原因吗?
答案 0 :(得分:6)
当一次分配多个变量时,所有变量都将获得右手操作数的值。执行此双重赋值不提供任何值,它甚至可能被编译器优化为double x = (a - b) / (c - 1);
。这绝对是一个错字。
答案 1 :(得分:3)
拼写错误。在您的情况下,没有理由再次为自己分配值。
旁注:但是,如果你只是写
double x = x;
然后编译器还会给你一个warning saying:
在你的情况下,它将从右手操作数获取值,因此它将编译并且不会有任何问题,但它没有任何实际意义。 Ideone Demo
答案 2 :(得分:1)
这样的结构可能有意义的时候是assign the same value to multiple variables:
double x, y;
x = y = 42;
现在,您有两个使用相同值初始化的变量,因为result of an assignment expression (y = 42
) is the value that was assigned (42
)。
但是,以其当前形式(或from its original source, as you indicated),如此:
double spacing = spacing = 42;
没有意义,可以简化:
double spacing = 42;