gpt4 book ai didi

java - 为什么 Java 7 和 Eclipse 3.8 编译器无法使用新的 Java 7 菱形运算符编译 JDK 代码?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:55:13 26 4
gpt4 key购买 nike

import java.util.*;

public class SimpleArrays
{
@SafeVarargs
public static <T> List<T> asList( T... a )
{
return new ArrayList<>( a );
}
}

asList() 取自 java.util.Arrays 的 Oracles JDK 实现。

错误是

error: cannot infer type arguments for ArrayList<>
return new ArrayList<>( a );
1 error

这是如何工作的? Oracle 使用与我们相同的编译器。

最佳答案

注意:java.util.Arrays类中使用的ArrayList不是java.util.ArrayList,而是一个嵌套类 java.util.Arrays.ArrayList

特别是,这个类有一个构造函数,它以 T[] 作为参数,而 java.util.ArrayList 没有。

也复制这个类,它会起作用。

关于java - 为什么 Java 7 和 Eclipse 3.8 编译器无法使用新的 Java 7 菱形运算符编译 JDK 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078494/

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