参见英文答案 >

Why does my ArrayList contain N copies of the last item added to the list?                                    4个

我正在尝试制作一个包含不同对象的列表.

List list = new ArrayList();

defObject defObj;

optObject optObj;

和defObject只有一个String属性.

public static class defObject

{

public static String defObj;

public defObject(String x)

{

setDefObj(x);

}

public static String getDefObj() {

return defObj;

}

public static void setDefObj(String defObj) {

defObject.defObj = defObj;

}

}

如果我在列表中添加多个defObjects并在完成添加元素后遍历列表,则它们都包含相同的字符串,这是添加到列表中的最后一个defObject.

我正在做这样的事情来将对象添加到列表中:

if (whatever)

list.add(defObj = new defObject("x"));

else if(whatever)

list.add(defObj = new defObject("y"));

结果是两个defObjects,字符串为“y”

请帮我弄清楚为什么没有正确添加对象,并且属性与添加到列表中的最后一个defObj完全相同.

java 对象列表_Java中的对象列表相关推荐

  1. set列表对象去重_java中List对象列表去重或取出以及排序

    面试碰到几次list的去重和排序.下面介绍一种做法: 1. list去重 1.1 实体类Student List容量10k以上,要求去重复.这里Student的重复标准是属性相同,因此需要重写equa ...

  2. java 股票 代码_Java中利用散列表实现股票行情的查询_java

    ---- 在java中,提供了一个散列表类Hashtable,利用该类,我们可以按照特定的方式来存储数据,从而达到快速检索的目的.本文以查询股票的收盘数据为例,详细地说明java中散列表的使用方法. ...

  3. java string对象名称_java中常见对象——String

    字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. A:字符串字面值"abc"也可以看成是一个字符串对象. B:字符串是常量,一旦被赋值,就不能被改变. 构造方法: ...

  4. java中对象类型转换_Java中的对象的类型转换介绍(附代码)

    本篇文章给大家带来的内容是关于Java中的对象的类型转换介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 向上转型:子类对象转为父类,父类可以是接口.公式:Father ...

  5. java 可变参数列表_java中可变参数列表的实现方法

    我们在对可变参数有一定的认识后,可以引申一下它的使用范围.在数组中也会需要参数的传入,那么结合参数的数量不固定,我们在参数类型上也得到了增加,这就是本篇所要讲的可变参数列表.下面我们就java可变参数 ...

  6. java字符串转字符串列表_Java中的字符串列表示例

    java字符串转字符串列表 We have to read total number string i.e. "n", create a list of the Strings a ...

  7. java string 对象地址_Java中String对象的存储位置(学习笔记)

    packagetest.string.equal;public classMain {/*** 创建了三个对象,"helloworld对象创建在常量池中",每次new String ...

  8. java类同步_Java中方法,对象,类的同步

    关于在多线程环境中使用同步,我需要一些澄清.我在下面有一个小例子类.但我实际上发现很难做出以下内容如何工作的测试用例;我想要测试用例的原因是要了解同步如何处理这些不同的场景 >如果一个线程调用S ...

  9. Python产生100个1—100的随机数放入列表Num中,输出列表中的数,然后将它们排序,并输出排序结果。

    import random #内建函数 Num=[] for i in range(101):Num.append(random.randint(1,100)) #append()将参数添加到列表末尾 ...

最新文章

  1. 阿里团队最新实践:如何解决大规模分类问题?
  2. Hibernate初探
  3. es-04-mapping和setting的建立
  4. 【Python数据挖掘课程】九.回归模型LinearRegression简单分析氧化物数据
  5. 批量将PPM格式图片转化为JPG格式
  6. CF1270H Number of Components(线段树)
  7. C++工作笔记- C++中的动态类型与动态绑定、虚函数、运行时多态的实现
  8. 通过pyenv在Mac OS X 10.12.3下安装Python-3.6.0及“*** [install] Error 1”错误的解决方法
  9. R语言︱分布函数与概率密度+随机数产生
  10. linux视频教程哪个最好_最好的Linux教程
  11. win11家庭版使用远程桌面-RDPWrapper常见问题
  12. 抠图软件哪个好用又免费?快来看看这几款软件
  13. android 表情包下载,超级表情包app下载
  14. 数据库三范式最简理解(第一范式,第二范式,第三范式)
  15. MEGAHIT:多快好省的宏基因组装工具
  16. SQL 添加、删除、更改字段(属性)
  17. [概念] 敏感性分析(Sensitivity Analysis) 和龙卷风图(tornado diagram)
  18. linux修改SSH密码的方法
  19. Kafka连接器深度解读之JDBC源连接器
  20. Proteus使用教程详细入门版(适用于 MCS-51等)

热门文章

  1. C#LeetCode刷题之#100-相同的树(Same Tree)
  2. C#LeetCode刷题之#682-棒球比赛(Baseball Game)
  3. 分享个提高自己审美的网站
  4. 如何得知mysql表结构发生变化了呢?
  5. play 应用商店_如何在Play商店中发布应用程序
  6. 强化学习q学习求最值_Q学习简介:强化学习
  7. shader 隐身_如何超越隐身障碍
  8. 使用Minions解释JavaScript回调
  9. java字符串常量池长度_Java String类相关知识梳理(含字符串常量池(String Pool)知识)...
  10. mongodb python 大于_5、Python操作MongoDB