首页 / 知识
如何在Java中克隆通用列表?
2023-04-14 21:07:00

How do I clone a generic List in Java?
我有一个
调用此方法后,如何将返回的对象强制转换回 为什么要克隆?创建新列表通常更有意义。
任务完成。
这是我使用的代码:
希望对您有用 使用Java 8可以将其克隆为流。
...
请注意,Object.clone()存在一些主要问题,在大多数情况下,不建议使用它。请参阅Joshua Bloch撰写的" Effective Java"中的第11项,以获取完整的答案。我相信您可以在原始类型数组上安全地使用Object.clone(),但除此之外,您还需要谨慎地正确使用和覆盖克隆。最好定义一个复制构造函数或一个静态工厂方法来根据您的语义显式克隆对象。 我认为这应该使用Collections API来解决问题: 注意:复制方法以线性时间运行。
我发现使用addAll可以正常工作。
使用括号而不是泛型语法 如果您希望这样做,以便能够在getter中返回List,则最好这样做:
要克隆
这有点棘手,但是,如果您被限制返回
我知道这个答案接近最终答案,但是我的答案回答了在使用
请记住,这只是浅表而不是深表。您将获得一个新列表,但条目相同。对于简单的字符串,这没有问题。当列表条目本身就是对象时,变得更加棘手。 克隆ArrayList时要非常小心。用Java克隆很浅。这意味着它将仅克隆Arraylist本身,而不克隆其成员。因此,如果您具有ArrayList X1并将其克隆到X2中,则X2中的任何更改也将在X1中显示,反之亦然。克隆时,您将只生成一个新的ArrayList,该ArrayList带有指向原始元素中相同元素的指针。 这也应该起作用:
我不是Java专业人员,但是我有同样的问题,因此尝试通过这种方法解决。 (假设T有一个副本构造函数)。
|
最新内容
相关内容
linux使用命令的方法?
linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,图标,linux的cd命令的使用方法1、cd ~:回到用户家目录。注:这得看你linux无效对象的命令?
linux无效对象的命令?,软件,系统,单位,网络,管理,术语,检测,电脑,环境,风险,linux疑问:普通用户的ifconfig命令无法执行,如何解决?建议这个操linux磁盘列表命令?
linux磁盘列表命令?,情况,管理,系统,单位,信息,数据,命令,磁盘,服务,时间,linux的进入磁盘命令1、查看磁盘空间 -df df命令以磁盘分区为单位查linux命令筛选列表?
linux命令筛选列表?,工具,状态,位置,工作,预期,命令,名称,标准,数据,系统,在Linux下面的某一个文件的查找命令linux命令如果记不得,可以使用manlinux的长列表命令?
linux的长列表命令?,工作,系统,信息,命令,数据,目录,电脑,软件,时间,设备,Linux命令行大全的目录1、linux系统常用操作命令linux系统常用操作linux目录列表命令?
linux目录列表命令?,系统,信息,标准,工作,命令,地址,时间,数据,名称,目录,linux查看目录下文件的命令linux系统下用ls命令列出当前目录下的文linux命令输入方法?
linux命令输入方法?,系统,电脑,密码,管理,地址,命令,网站,工具,首开,位置,linux终端输入~怎么弄中间在电脑上打开需要的Word文件进入。进入到文Python中什么是反射?使用方法有哪
Python中什么是反射?使用方法有哪些?,信息,培训,状态,术语,检测,反射,属性,对象,字符串,方法,反射这个术语在很多语言中都存在,并且存在大量的Python中有哪些方法可以解压文件?
Python中有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大总结python 元组和列表的区别
总结python 元组和列表的区别,培训,列表,括号,切片,包裹,两者,实例,元素,区别,操作,python的基本类型中有元组和列表这么俩个,但是这哥俩却比Python列表类型list合并有哪些方法
Python列表类型list合并有哪些方法?,培训,方法,列表,可能会,数组,切片,下文,字符串,数据类型,请看,在Python编程语言中,有各种数据类型,比如字符零基础学习Python的四种方法
零基础学习Python的四种方法,基础,代码,基础知识,培训,发展,时间,知识,书籍,初学者,练习,近年来,随着移动互联网的发展,对Python人才的需求越来