首页 > 编程知识 正文

如何获取list中对象的属性值,js遍历对象属性名获取属性值

时间:2023-05-06 08:00:19 阅读:162222 作者:3654

目前,我们的开发大多数jdk至少使用1.8版本。 这个版本开始添加了很多特性,但今天也只是记录了其中的一小部分,是个小疑问。

在开发过程中,经常遇到需要从一个List中取出一个属性的List的集合,例如id的集合

所以用JDK8的方法,

我有个疑问,我们取值时会碰到空指针吗?

答案是“不”

但是还有另一个问题

上面的例子

publicstaticvoidmain (string [ ] args ) { User user1=new User; user1.setid(1L ); user1.setage(2L; User user2=new User (; user2. setid (空; user2.setage(3L; User user3=new User (; user3.setid(3L; user3.setage(4L; ListUser list=new ArrayList (; list.add(user1; list.add(user2; list.add(user3; setlongcorpids=list.parallel stream (.map ) user3360:getid ).distinct ).collect ) collectors.toset ); longid : corpids (logger.info ) ) removebefore:id='id; }logger.info('******我是华丽的分割线* * * * * * * () ) ) ) ) ) ) ) ) ) 65 corporporation for(longid:corpids ) logger.info ) removeafter:id='id; }之所以先做Collectors.toSet (),是因为想直接利用set的特性加重

执行结果

remove before:id=nullremovebefore:id=1remove before:id=3* * * * * * *我是华丽的分割线* * * * * * * remove after:id 当然,这也与集合的Object类型有关。 上面定义的Long只支持空值

但是,如果要使用获得的新list进行其他操作,建议删除null,以免意外发生异常。

当然,您也可以在检索值时添加、排序或更改map键值对

不再赘述

listlonguserid=userlist.parallel stream ().filter(user-user.getid )!=nulluser.getid(0).map (user :3360 getid ).distinct ).collectors.tolist ) ); 更多流方法特性参考:

33559 www.run OOB.com/Java/Java8- streams.html

JDK1.8新功能参考

33559 www.run OOB.com/Java/Java8- new-features.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。