gpt4 book ai didi

java - 使用私有(private)成员参数化通用类型

转载 作者:行者123 更新时间:2023-12-04 10:26:33 25 4
gpt4 key购买 nike

在创建具有泛型类型的类时,似乎不可能使用私有(private)类作为类型参数,即使该类是泛型类型的内部类。考虑这段代码:

import java.util.Iterator;
import test.Test.Type;

public class Test implements Iterable<Type> {

@Override
public Iterator<Type> iterator() {return null;}

static class Type {}

}

上面的例子可以编译,而同样的例子在 Type 时不能编译。是私有(private)的:
import java.util.Iterator;
// ERROR: The type test.Test.Type is not visible
import test.Test.Type;

// ERROR: Type cannot be resolved to a type
public class Test implements Iterable<Type> {

@Override
// ERROR: The return type is incompatible with Iterable<Type>.iterator()
public Iterator<Type> iterator() {return null;}

private static class Type {}

}

为什么不能将私有(private)类用作其封闭类的类型参数?尽管是私有(private)的,但我认为类(class) Type应该在类 Test 中可见.

最佳答案

我可以假设这是因为如果你将 Type 设为私有(private),你将无法获得 iterator() 的结果,因为 Type 是看不见的。我可能是错的。

关于java - 使用私有(private)成员参数化通用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60619887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com