Non-static method cannot be referenced from a static context ,java: 不兼容的类型: 推断类型不符合上限 的解决办法

本文探讨了在使用JDK 1.8 Stream API时遇到的类型推断错误,重点在于理解`Non-staticmethodcannotbereferencedfromastaticcontext`和`不兼容的类型`错误,原因在于流操作中类型转换的不一致性。通过实例解析和链接OpenJDK issue,提供了避免这类问题的方法和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题概述

在项目中使用到的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
版权声明:本文为博主原创文章,请在转载时务必注明博文出处!
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值