请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

错误: 不兼容的类型

跑这个demo的时候报错如下

D:\workspace_new\spring-framework-5.2.0.RELEASE\spring-framework-5.2.0.RELEASE\spring-beans\src\main\java\org\springframework\beans\support\PropertyComparator.java:138: 错误: 不兼容的类型: PropertyComparator<CAP#1>无法转换为Comparator<? super CAP#1>
			source.sort(new PropertyComparator<>(sortDefinition));
			            ^
  其中, CAP#1是新类型变量:
    CAP#1从?的捕获扩展Object

请问老师这个是什么原因呀

正在回答 回答被采纳积分+3

1回答

翔仔 2020-03-24 01:56:26

同学好,我看了下源码,PropertyComparator就是继承自Comparator接口呢。。感觉同学的jdk版本和spring不兼容?或者是build 的时候没有正确,可以在D:\workspace_new\spring-framework-5.2.0.RELEASE\spring-framework-5.2.0.RELEASE\spring-beans\src\main\java\org\springframework\beans\support\PropertyComparator.java

的138行,就是sort方法这里设置一个断点,以debug启动一下,如果断点停在这里,看看最开始是哪个地方触发这个方法的执行的,看看Debug的调用栈

0 回复 有任何疑惑可以回复我~
  • 翔仔老师好,我也遇到了这个问题。控制台输出的信息是build的时候没有成功。他说当前版本和Gradle6.0不兼容,现在用的是Gradle5.6.2和Spring源码文件写的一致。不知道是不是jdk不兼容。在demo里不引入spring-contex的时候,是可以正常编译和输出Hello world的。引入了之后,编译和运行文件都是报下面的错误。我在那个类的第138行打了断点,然而并没有运行到这就报错了。下面是错误信息:
    F:\springorigin\spring-framework-5.2.0.RELEASE\spring-beans\src\main\java\org\springframework\beans\support\PropertyComparator.java:138: ����: �����ݵ�����: PropertyComparator<CAP#1>�޷�ת��ΪComparator<? super CAP#1>
    			source.sort(new PropertyComparator<>(sortDefinition));
    			            ^
      ����, CAP#1�������ͱ���:
        CAP#1��?�IJ�����չObject
    ע: ijЩ��Ϣ�Ѿ�����; ��ʹ�� -Xdiags:verbose ���±����Ի���������
    1 ������
    
    Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
    Use '--warning-mode all' to show the individual deprecation warnings.
    See https://docs.gradle.org/5.6.2/userguide/command_line_interface.html#sec:command_line_warnings
    回复 有任何疑惑可以回复我~ 2020-04-27 00:27:55
  • 同学好,感觉还是jdk的兼容问题,里面的异常输出是不是你的控制台不支持中文或者乱码导致的,这个应该不是问题的关键
    回复 有任何疑惑可以回复我~ 2020-04-27 21:38:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信