已有101人关注
JAVA入门到精通第4版-第14章 集合类-Page264-例14.4疑问
发表在Java图书答疑 2017-05-18
是否精华
版块置顶:

老师您好,JAVA入门到精通第4版-第14章 集合类-Page264-例14.4 有如下疑问:

        public int compareTo(Object o) {

UpdateStu upstu = (UpdateStu) o;

int result = id > upstu.id ? 1 : (id == upstu.id ? 0 : -1);

return result;

}

此段代码中

  1. UpdateStu upstu = (UpdateStu) o;  为何要强制转换,有什么意义?

  2. int result = id > upstu.id ? 1 : (id == upstu.id ? 0 : -1);

    这句括号内(条件式?值1:值2)中id不就是upstu.id吗,这样条件式不就没有意义了吗,整句又该如何理解?

以上,望老师帮忙解答,谢谢!


分享到:
精彩评论 1
David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-05-18
沙发

(1)UpdateStu upstu = (UpdateStu) o;的目的是获得对象upstu,进而获得对象upstu的id。

(2)这是一个三目运算符。意思是,用自己的id,和传入对象的id做比较;如果自己的id大于upstu的id,那么值为1,否则再判断是否相等,如果相等则值为0,否则为-1。

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照