a=a=b 求解释

heardy 2011-09-15 04:54:47
A: List list = list = jdbcTemplate.queryForList(sql);

B: List list = jdbcTemplate.queryForList(sql);

这两句有什么区别,A这样写有什么好处
...全文
402 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
hrj86345811 2011-09-18
  • 打赏
  • 举报
回复
这种小问题就算了,没区别的
lzy125361539 2011-09-16
  • 打赏
  • 举报
回复
没实用价值
  • 打赏
  • 举报
回复
没有任何价值存在!
daijope 2011-09-16
  • 打赏
  • 举报
回复
呵呵,List Y = Y = X;
相当于 Y = (Y = X);啊
完美灬缺陷 2011-09-16
  • 打赏
  • 举报
回复
没什么区别吧、就是同一个变量赋了2次值,没意义。
Alexander 2011-09-16
  • 打赏
  • 举报
回复
这个估计是笔误。实际上A比B的效率低。编译成字节码看下:
A:Test1 test=test=new Test1();

Compiled from "Test1.java"
public class com.codetest.test.Test1 {
public com.codetest.test.Test1();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return

public static void main(java.lang.String[]);
Code:
0: new #2 // class com/codetest/test/Test1
3: dup
4: invokespecial #3 // Method "<init>":()V
7: dup
8: astore_1
9: astore_1
10: return
}
[/cdoe]
B:Test1 test=new Test1();
[code=Assembly]
Compiled from "Test1.java"
public class com.codetest.test.Test1 {
public com.codetest.test.Test1();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return

public static void main(java.lang.String[]);
Code:
0: new #2 // class com/codetest/test/Test1
3: dup
4: invokespecial #3 // Method "<init>":()V
7: astore_1
8: return
}

很明显A执行的代码比B要多。
heardy 2011-09-16
  • 打赏
  • 举报
回复
恩 看来A的写法真的是没有价值,暂时告一段落, 多下大家的回答。稍后结贴。。。
小笨熊 2011-09-16
  • 打赏
  • 举报
回复
却是没啥区别,lz不错嘛
wd9053 2011-09-16
  • 打赏
  • 举报
回复
没什么区别
ID取的很后悔 2011-09-16
  • 打赏
  • 举报
回复
呵呵,我觉的A手贱了 。、、
lyhmy 2011-09-15
  • 打赏
  • 举报
回复
学习了
qybao 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 heardy 的回复:]
现在这个语句是用来进行数据库的查询的

我主要认为 数据库查询出来的数据在X这一块,而Y指向了这个X,现在把x的结果集清空过后,那么获取的Y也就是为空了

但是Y指向了X,Y再次指向Y的话,会不会将结果集赋值过来,将X结果集清空的时候后,获取Y会不会还是有值


我主要是这么认为的,那些对这块理解的比较深的人帮帮忙,解释下吧!
[/Quote]
看来LZ没理解引用啊
首先
List X;
List Y = X; //Y也指向X所引用的对象
X.clear(); //X清空就是清空X所引用的对象,Y和X引用同一个对象,所以也就是Y(所引用的对象)被清空

List Y = Y = X;
相当于 Y = (Y = X);
相当于 Y = X; Y = Y; //首先Y指向X所以用的对象,接着Y指向Y所引用的对象,归根还是Y指向X引用的对象
X.clear(); //X清空就是清空X所引用的对象,Y和X引用同一个对象,所以也就是Y(所引用的对象)被清空


TKD03072010 2011-09-15
  • 打赏
  • 举报
回复
学习了
楼主钻石精神不错
lidanzi 2011-09-15
  • 打赏
  • 举报
回复
这种写法编译器应该会直接处理掉
walkman_22 2011-09-15
  • 打赏
  • 举报
回复
我认为这样写是极其不规范的。
shenshenpanpan 2011-09-15
  • 打赏
  • 举报
回复
貌似从右向左执行,在VC中不会报错,不过这样写帧没必要啊!
icemansuccess 2011-09-15
  • 打赏
  • 举报
回复
这个真没有什么意义...
24K純帥 2011-09-15
  • 打赏
  • 举报
回复
囧,为什么我也觉得A会报错
qqhw123 2011-09-15
  • 打赏
  • 举报
回复
要是不是这样的第二个list要是换成别的话 还有点意思
dxndsc 2011-09-15
  • 打赏
  • 举报
回复
Java中a=a=b是要报错的啊!
加载更多回复(20)
内容概要:本文系统研究了构网型变流器的正负序阻抗解耦特性及其在弱电网环境下的稳定性表现,重点依托Matlab/Simulink仿真平台,构建了详细的阻抗数学模型,设计了解耦控制策略,并采用小信号扫频法进行频域辨识与稳定性验证。研究深入探讨了构网型变流器与传统跟网型逆变器在正负序阻抗特性上的本质差异,结合虚拟同步发电机(VSG)等先进控制技术,分析其在抑制宽频带振荡、削弱锁相环动态耦合等方面的优越性。文中不仅提供了完整的仿真模型与MATLAB代码实现,还整合了光伏、风电、储能、微电网等多类新能源系统的阻抗建模与稳定性分析资源,形成了一套面向新型电力系统稳定性的综合性技术资料体系,具有较强的科研复现与工程参考价值。; 适合人群:面向具备电力电子、电力系统自动化、新能源并网等专业背景的研究生、高校教师及工程技术人员,特别适用于从事阻抗建模、小干扰稳定性分析、宽频振荡机理研究以及撰写高水平学术论文的科研工作者。; 使用场景及目标:①掌握构网型变流器正负序阻抗建模与扫频辨识的仿真方法;②深入理解VSG等构网型控制在弱电网中提升稳定性的内在机理;③复现顶刊论文中的阻抗分析流程与稳定性判据应用;④利用提供的成熟模型与代码加速科研进程,支撑课题研究与学术成果产出。; 阅读建议:建议结合文中提供的Simulink模型与MATLAB代码,按照“理论建模—仿真搭建—扫频激励—频响提取—Nyquist判据分析”的完整流程进行实践操作,重点关注扫频信号的注入方式、频率范围设置及阻抗曲线的物理意义解读,并参考博士论文复现案例深化对复杂动态耦合问题的理解。

62,622

社区成员

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

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