作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个类:
class Person{
String name = "";
int age = 0;
Person(String name, String age){
this.name = name;
this.age = age;
}
}
我实现了自己的列表,但我不知道如何像传统列表一样指定对象类型:List<Person>
。如果我让默认类为“Object”,它可以工作,但我无法从我的对象访问变量和方法。例如print( list.get(0) )
将显示我的对象的引用,但 print( list.get(0).name ) 它不起作用。我希望我的列表适用于任何类(class)。
这就是我声明我的实现列表的方式:
List list = new List();
list.add( new Person("Andrei", 19) );
这是我的代码:link
最佳答案
您应该使 LinkedList 通用并嵌入 Node,以便您可以将 Node 中的数据字段定义为传递类型的实例:
class Node<T>{
T data;// Object data
Node next;
Node(T d){
this.data = d;
this.next = null;
}
}
public class LinkedList<T> {
Node<T> first = null;
Node<T> last = null;
// TODO change all your methods to accept value of type T instead of Object
}
关于java - 如何在java中为列表分配对象类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57553990/
我是一名优秀的程序员,十分优秀!