相关疑难解决方法(0)

Guava的Optional课程有什么意义

我最近读过这篇文章并看过有人使用这个课程,但在几乎所有情况下,使用它null都会起作用 - 如果不是更直观的话.有人能提供一个具体的例子Optional来实现null无法或更清洁的方式吗?我唯一能想到的就是使用Maps不接受null密钥的东西,但即便如此,也可以使用null值的"映射"来完成.任何人都可以给我一个更有说服力的论点吗?谢谢.

java generics guava

87
推荐指数
4
解决办法
2万
查看次数

在Java中,常规泛型不能做外卡吗?

我是Java新手.在 文档中,他们将此作为使用通配符的用例:

static void printCollection(Collection c) {
    Iterator i = c.iterator();
    for (int k = 0; k < c.size(); k++) {
        System.out.println(i.next());
    }
}
Run Code Online (Sandbox Code Playgroud)

这是他们的解决方案:

static void printCollection(Collection<?> c) {
    for (Object e : c) {
        System.out.println(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我可以在没有外卡的情况下做同样的事情:

static <T> void printCollection(Collection<T> c) {
    Iterator i = c.iterator();
    for (int k = 0; k < c.size(); k++) {
        System.out.println(i.next());
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我一个简单的用例,常规的泛型不起作用,但外卡会吗?

更新:此处的答案何时在Java Generics中使用通配符?不要告诉我们需要通配符.事实上,它是另一种方式.

java generics bounded-wildcard unbounded-wildcard

19
推荐指数
1
解决办法
347
查看次数