首页 > 其他分享 >for循环中list add的是同一个对象,new 对象要在里面创建

for循环中list add的是同一个对象,new 对象要在里面创建

时间:2023-02-27 20:33:52浏览次数:33  
标签:string 对象 list add new strings String


for循环中list add对象,最后发现是同一个。

错误代码:

public static void main(String[] args) {
int [] arrs={1,2,3,4};
String string=null;
ArrayList<String> strings = new ArrayList<>();
for (int i: arrs) {
string=new String();
string="值为:"+i;
strings.add(string);

}
for (String s:strings){
System.out.println(s);
}

}

是因为list add的是对象的引用
实际只创建了一个对象,所以add的都是这个对象。

解决方案

对象定义可以在外面,new 对象在for循环里面,这样每次都是一个新对象。

正确代码:

public static void main(String[] args) {
int [] arrs={1,2,3,4};
String string=null;
ArrayList<String> strings = new ArrayList<>();
for (int i: arrs) {
string=new String(); // 这一句其实没有必要,只是为了说明要new对象
string="值为:"+i;
strings.add(string);

}
for (String s:strings){
System.out.println(s);
}

}


标签:string,对象,list,add,new,strings,String
From: https://blog.51cto.com/u_7341513/6089116

相关文章

  • 字符串根据逗号拆分转list
    Stringpath="123,456,789"if(path!=null&&path.indexOf(",")!=-1){String[]array=path.split(",");List<String>list=Arrays.asList(array);}/***逗号......
  • newMap
    ES6新增数据结构,类似于对对象,也是键值对的集合,但对键的范围不限于字符串,各种类型的值(包括对象)都可与成为键是一种更完善的Hash结构map定义constmap=newMap()s......
  • ArrayList 对象排序实例
    1.importjava.util.ArrayList;2.importjava.util.Collection;3.importjava.util.Collections;4.importjava.util.Comparator;5.6.7.publicclas......
  • 我做的百度飞桨PaddleOCR .NET调用库
    我做的百度飞桨PaddleOCR.NET调用库 我做的百度飞桨PaddleOCR.NET调用库.NETConf2021中国我做了一次《.NET玩转计算机视觉OpenCV》的分享,其中提到了一个效果特别......
  • Winform C# .Net中给ListBox加ToolTip提示
    1、首先,在工具箱中将ToolTip控件拖入到Winform界面下方。2、接着,在指定的ListBox添加:XXX_MouseMove事件(如已添加则忽略此步)。其中:XXX为您的控件名称。3、在该事件中添加如此......
  • Oracle alert.log日志出现:Thread 1 cannot allocate new log
    参考链接:https://blog.csdn.net/joinplay/article/details/232559411、查找oracle错误日志存放目录(sqlplus登录sysdba执行):showparameterbackground_dump_dest查看aler......
  • JSONArray与List集合之间的相互转换
    1.List转fastjsonJSONArrayListlist=newArrayList();JSONArrayjsonArray=JSONArray.parseArray(JSONArray.toString()); 2.fastjsonJSONArray转ListJSONA......
  • 7.list
    listlist是链表,链表由结点组成,分为两块数据域和指针域链表存储非连续,添加删除元素不需要移动元素效率高不支持随机存取返回值不一定是void无返回值,只是用不上所以就......
  • window.addEventListener注册滚动scroll事件不生效
    window.addEventListener('scroll',xxx方法)不被触发的原因今天在做项目的时候,需要做一个滚动的效果。发现在mounted(){window.addEventListener('scroll',th......
  • 03_16_JavaWeb||day19_Filter&Listener||day19_Filter&代理模式(23种设计模式之一:用来
    今日内容*Servlet,Filter,Listener被称为JavaWeb三大组件1.Filter:过滤器2.Listener:监听器1.Filter:过滤器概念:生活中的过滤器:净水器,空气净化器,土匪、web中的过滤器:当......