我刚学会了泛型Java的概念,并尝试用它来练习。现在我试图使用一个对象作为一个正式的参数,但由于某种原因,它不起作用。 这是我的代码:
public class Book {
String title;
public Book(String s) {
title = s;
}
public String getTitle() {
return title;
}
public static void main(String[] args) {
Book book1;
Pair<book1,int> pair1 = new Pair<>("somebook",22);
}
}
我的通用课程:
public class Pair<A,B> {
A first;
B second;
public Pair(A a, B b) {
first = a;
second = b;
}
public A getFirst() {
return first;
}
public B getSecond() {
return second;
}
}
由于某种原因,此代码行出错:
Pair<book1,int> pair1 = new Pair<>("somebook",22);
任何见解都将受到赞赏。
答案 0 :(得分:4)
使用泛型,您总是指类型,而不是类的实例。我怀疑你想要这样的东西:
Pair<Book,Integer> pair1 = new Pair<>(book1, 22);
正如你在左侧看到的那样,我宣布了一对书和整数。在右侧,Pair由一个类型为Book(book1)和整数的对象构成。