问题标签 [name-clash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 自 Java 8 以来的旧库并发编译失败
数学库colt(1.2 版)依赖于库EDU.oswego.cs.dl.util.concurrent (gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro. html). 编译并发(版本 1.3.4)适用于 java 版本 7 或以前的版本。但是在 java 8 (javac 版本 1.8)上编译失败。编译器选项-source 1.4 -target 1.4
不能解决问题。
原因是,java 8 在接口 java.util.Map: 中引入了一个新方法“remove” default boolean remove(Object key, Object value)
。这个新方法与实现 java.util.Map: 的库类 ConcurrentHashMap.java 中的“remove”方法发生冲突protected Object remove(Object key, Object value)
。
一旦确定了问题的原因,我就可以通过重命名库类 ConcurrentHashMap.java 中的方法来解决问题。这是可以接受的,因为库方法仅受保护(而不是公开的)。
是否有其他可能性来确保 java 8 兼容性?
- 编译器选项?
- 注释(“@ForceOverride”)?
django - Django 1.9:字段与父模型中不存在的字段的字段冲突
我有一些简单的模型,Profile、Certifier 和 Designer,后者继承自 Profile(多表继承)。在 Designer 中,Certifier 有一个外键。
在 Django 1.8 中,这非常有效,但在 1.9 中我得到了;
django.core.management.base.SystemCheckError: SystemCheckError: 系统检查发现了一些问题:
错误:
check.Designer.certifier:(models.E006)字段“certifier”与模型“check.profile”中的字段“certifier”冲突。
(在这种情况下,Profile.type 无关紧要,我只需要它来区分登录的用户配置文件类型)。
check.profile 显然没有“验证者”字段。这是一个错误还是我错过了什么?同样的事情发生在另一个项目中。
java - 由于相同的擦除名称冲突
我有一个如下界面
我收到以下错误
错误:(44, 10) 错误:名称冲突:IDrawerItem 中的 bindView(VH#1,List) 和 IItem 中的 bindView(VH#2,List) 具有相同的擦除,但两者都不会覆盖 VH#1,VH# 中的另一个2 是类型变量: VH#1 扩展在接口 IDrawerItem 中声明的 ViewHolder VH#2 扩展在接口 IItem 中声明的 ViewHolder
为什么呢?
java - Java名称冲突错误,一个方法与另一个方法具有相同的擦除
我有两个课程如下
类查询结果:
和类 CaseResult:
我收到以下错误:
名称冲突:CaseResult 类型的方法 sortResults(boolean, List) 与 QueryResult 类型的 sortResults(boolean, List) 具有相同的擦除,但不会隐藏它 CaseResult.java
我在类似的问题Java generics name conflict下尝试了答案,具有相同的擦除但得到了更多错误。我想我可能会误解某些东西,或者这些答案不适合我的情况。
有人可以提供任何解决方案或解释更多以帮助我理解吗?谢谢你们。
java - 如何使用泛型并从父类继承而不引起名称冲突?
我在 Java 中有一个父类,称为Flight
. 我有子类:JetFlight
,NormalFlight
等继承自Flight
.
我希望所有子类都compareTo
从Comparable
接口实现。我希望它们继承自,Flight
因为我想使用多态性(例如,启动一个数组并用、等Flight
对象填充它)。JetFlight
NormalFlight
这是我的父类代码:
这是其中一个子类的代码:
由于 2 个错误,此代码无法编译:
1)compareTo(T) in 'java.lang.Comparable' clashes with 'compareTo(Object)' in 'Flight'; both objects have the same erasure, yet neither overrides the other.
2)Class 'JetFlight' must either be declared abstract or implement abstract method 'compareTo(Object)' in 'Flight'
当我想从一个类继承并同时在子类上使用泛型时,我该如何处理?
python - 无法解决反向访问器冲突
我有一个在 django>=1.8,<1.9 中无法解决的错误。我合并了我的更改,我得到了这个:
这是我的模型:
这是我的带有文章字段的基类:
我尝试articles
向我的班级添加字段,Booking
如下所示,但没有成功:
java - 实现两个声明相同方法的接口时出现意外的编译器错误 - (一个抽象和一个默认)
我很想了解为什么以下(下面的示例 1)给我一个编译器错误,说明...
'ClassA 从类型 Interface1 和 Interface2 继承了 test() 的抽象和默认值'
...如果我将 Interface1 更改为抽象类并让 AClass 扩展它(同时仍在实现 Interface2),它的行为与我预期的一样(没有编译器错误)。
我的理解是抽象方法的优先级高于默认方法。换句话说,我希望示例 1能够编译,就像示例 2 一样 - 并且对于从AClass派生的任何具体类都必须为 test() 方法提供实现。在这两个示例中,如果我从 ClassA 的定义中删除“抽象”,则会收到编译器错误(如预期的那样),因为我没有提供该实现。但是,为什么当 AClass 是抽象时,它在实现 2 个接口时不编译,但在扩展 ASupClass 和实现 Interface2 时编译?为什么有区别?
代码示例 1(带 2 个接口)
代码示例 2(带有 1 个抽象类和 1 个接口)
java - Java 错误:名称冲突:类中的方法覆盖了一个方法,该方法的擦除与另一个方法相同,但都没有覆盖另一个
我的项目中有如下代码:
当我尝试编译它时出现错误:
知道是什么导致了错误吗?为什么第一种方法有 Object 而不是 generic validate(Object)
?
java - Java - 覆盖从外部类继承泛型的内部类时出现“名称冲突”和“构造函数未定义”错误
我最近在一个项目中升级了eclipse和java版本,出现了一些错误。我尝试重现并发现以下设置导致使用 Java 1.8 的 Eclipse Oxigen.3a (4.7.3a) 中的错误,而同样适用于 eclipse 3.7.2 和 Java 1.7
TestSomeObject.java:
TestGeneric.java:
测试A.java:
TestB.java
在测试 B 类中,我收到以下编译错误:
- 一些方法:
Description Resource Path Location Type Name clash: The method someMethod(String, TestGeneric<TestSomeObject>.InnerGeneric) of type TestB has the same erasure as someMethod(String, TestGeneric<TestSomeObject>.InnerGeneric) of type TestA but does not override it TestB.java line 13 Java Problem
- 调用 super(a,b) 时:
Description Resource Path Location Type The constructor TestA.InnerA(String, TestGeneric<TestSomeObject>.InnerGeneric) is undefined TestB.java line 22
在此处输入代码Java Problem
在 eclipse 版本:3.7.2 和 Java 1.7 中,这是可行的。
这是为什么?我该怎么做才能清除错误?