关于list<> 赋值问题

cpp_1 2020-10-23 01:32:08
我有这样一个场景
一个类aa 里面有ID,NAME

类bb里面有这样一行

List<aa> aaa=new ArrayList<> ();

for(int i=0;i<10;i++){

===================
aa temp=new aa();
temp.id=i;
temp.name=i+"a1";
aaa.add(aa);
这样我感觉代码太啰嗦了。
=====================

如果直接用: aaa.add(new aa(){..... 这个怎么对ID,NAME赋值})
这种{ } 里面要怎么写。


}


我现在想用
...全文
7107 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qkniit 2020-11-08
  • 打赏
  • 举报
回复
构造方法可以解决, 也可以手写一个方法 public aa createAa(Integer id, String name){ aa temp=new aa(); temp.setId(id); temp.setName(name); return temp; } ========================================== List<aa> aaa=new ArrayList<> (); for(int i=0;i<10;i++){ =================== aaa.add(createAa(i,i+"a1")); ===================== }
苏颙 2020-11-06
  • 打赏
  • 举报
回复

List<A> list = IntStream.range(0,10).mapToObj(i->new A(i,i+"a1")).collect(Collectors.toList());
一行搞定
qybao 2020-10-23
  • 打赏
  • 举报
回复
引用 6 楼 qybao 的回复:
用new aa(){}的方式也不是不行,不过这样new出来的对象是aa的匿名子类
for example
aaa.add(new aa(){{id=i; name=i+"a1";}});

因为你的i是循环中变的,内部类使用外部变量要具有final性质,所以改一下
for(int i=0;i<10;i++){
final int j=i;
aaa.add(new aa(){{id=j; name=j+"a1";}});
}

qybao 2020-10-23
  • 打赏
  • 举报
回复
用new aa(){}的方式也不是不行,不过这样new出来的对象是aa的匿名子类
for example
aaa.add(new aa(){{id=i; name=i+"a1";}});

qq_39936465 2020-10-23
  • 打赏
  • 举报
回复
引用 楼主 cpp_1 的回复:
我有这样一个场景 一个类aa 里面有ID,NAME 类bb里面有这样一行 List<aa> aaa=new ArrayList<> (); for(int i=0;i<10;i++){ =================== aa temp=new aa(); temp.id=i; temp.name=i+"a1"; aaa.add(aa); 这样我感觉代码太啰嗦了。 ===================== 如果直接用: aaa.add(new aa(){..... 这个怎么对ID,NAME赋值}) 这种{ } 里面要怎么写。 } 我现在想用
首先aa类中需要用 下面的构造方法

public aa(String name, int id) {
		super();
		this.name = name;
		this.id = id;
	}

aaa.add(new aa(i+"a1",i));
码农小王同学 2020-10-23
  • 打赏
  • 举报
回复
aa类写个有参构造方法呗
happy_fu123 2020-10-23
  • 打赏
  • 举报
回复
实体类里面加个有参构造方法就可以
meet_aas 2020-10-23
  • 打赏
  • 举报
回复
二楼代码可实现,我就冒个泡
KeepSayingNo 2020-10-23
  • 打赏
  • 举报
回复
aa 这个对象搞个构造方法 aa(String name, Long id )
List不能赋值List List不能赋值List 1.首先,二者不是父子类关系。 如果是普通的父子类关系,由于Java的多态性,底层的后期绑定机制会在运行时检索子类方法列表,从而实现多态。 2.List属于泛型。(也算是多态的一种) Java的泛型实现是基于类型擦除的。换句话说,ListList由于类型擦除,在编译后会映射到相同的List类型上,也就是运行时实际无法区分二者,不过在取用时,编译器会进行类型还原,从而变为原来的ListList

81,092

社区成员

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

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