繁体   English   中英

Java泛型:我可以使用对象作为形式参数吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM