[英]Java Generics: Can I Use an Object as a Formal Parameter?
我刚刚学习了泛型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);
任何见识将不胜感激。
使用泛型时,您总是在引用类型,而不是类的实例。 我怀疑您想要这样的东西:
Pair<Book,Integer> pair1 = new Pair<>(book1, 22);
如您在左侧看到的,我已声明“成对的整数”。 在右侧,使用构造为Book(book1)和整数的对象构造对。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.