问题概述
在项目中使用到的JDK是1.8的版本,项目开发过程中遇到的一个Java类型推断的问题 :“ Non-static method cannot be referenced from a static context ” ,“ Error:(89, 45) java: 不兼容的类型: 推断类型不符合上限 ”
如下图:
解决办法
从上面的错误信息中看出,出现这个类型推断问题是由于前后类型不一致导致的,
所以在使用JDK1.8进行Stream流式写法的时候,千万要注意前后类型一致,注意层叠关系类型变化,
在上面的错误代码中发现,在map方法前是Object类型,但是在sorted方法前,类型已经改变了,即为String类型,如果此时还用Object类型的话,JDK就会编译报错,原因是类型改变,此时的类型为String类型了,如下图:
所以在进行JDK1.8的Stream编码的时候,千万注意类型的变化!!!
OpenJDK Issues : https://bugs.openjdk.java.net/browse/JDK-8190548
好了,关于 Non-static method cannot be referenced from a static context ,java: 不兼容的类型: 推断类型不符合上限 的解决办法 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。
作 者: | 华 仔 |
联系作者: | who.seek.me@java98k.vip |
来 源: | CSDN (Chinese Software Developer Network) |
原 文: | https://blog.csdn.net/Hello_World_QWP/article/details/116156255 |
版权声明: | 本文为博主原创文章,请在转载时务必注明博文出处! |