gpt4 book ai didi

java - 构造函数引用不正确在 IntelliJ 2017.1.4 中标记为错误

转载 作者:行者123 更新时间:2023-12-02 02:44:22 25 4
gpt4 key购买 nike

编辑:从 IntelliJ 版本 2017.2 开始,此问题已得到修复。

<小时/>

Java版本:1.8.0_131

IntelliJ IDEA版本:2017.1.4

我有这门课:

public class MethodReferenceWithArguments {

static <T, U> T createWith(Function<? super U, ? extends T> methodRef, U arg) {
return methodRef.apply(arg);
}

public static void main(String[] args) {

Map<String, String> map = createWith(
TreeMap::new,
Comparator.<String>reverseOrder());

map.put("aaa", "ONE");
map.put("zzz", "TWO");

System.out.println(map);
}
}

使用 javac,它可以正常编译并正常工作。使用 IntelliJ,它可以正常编译并正常工作,但是 TreeMap::new构造函数引用用红色下划线和 Bad return type in method reference: cannot convert java.util.TreeMap<K, V> to T消息显示在悬停工具提示上。

有人知道如何在不关闭重要的相关错误消息的情况下禁用这个误导性和烦人的错误消息吗?这是一个错误吗?如果是,我可以在哪里举报?

最佳答案

这是由于 Intellij 无法推断 TreeMap<K,V> 造成的泛型类型,可以显式设置K , V输入解决此警告的方法,例如:

    Map<String, String> map = createWith(
TreeMap<String, String>::new,
Comparator.<String>reverseOrder());

关于java - 构造函数引用不正确在 IntelliJ 2017.1.4 中标记为错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44877355/

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