java - 是否可以返回 Java 中通用 vector 中元素的副本而不是对其的引用?

标签 java object generics vector

如果我有一个泛型 vector :Vector<E> vect在Java中,我想返回位置“i”中元素的副本我该怎么办?如果我没记错的话,我认为当我使用 vect.get(i) 时它将返回对位置 i 中的对象的引用,而不是它的副本。

PS:我对 vector 包含的类型和对象一无所知(例如,如果它们具有方法 clone 等)。

最佳答案

复制有不同的类型,详细可以阅读here在您的情况下,如果您 E 实现 Cloneable 接口(interface),那么您可以执行以下操作:

假设您的 E 是 Employee

Employee employee = new Employee();
Employee noneReferencedCopyOfEmployee= (Employee) employee.clone(); 

关于java - 是否可以返回 Java 中通用 vector 中元素的副本而不是对其的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34025446/

相关文章:

java - 为什么允许使用 NON Runnable 参数创建 Thread 实例?

java - 从字符串中取出(n)个字符

javascript - 展平包含对象的数组的数组

javascript - 使用es6从两个对象中获取差异对象

java - 在 findViewById(R.id.myListView) 上找不到符号

java - 将对象从 C++ 返回到 Java

java - java中的继承和泛型

django - 在 Django 中从 direct_to_template 移动到新的 TemplateView

C# 泛型不*不*实现某些东西

java - Neo4j 3.5 中的事务未实现 java.lang.AutoCloseable