java - 抽象类中的 getClass() 给出了不明确的方法调用

标签 java android intellij-idea

我有一个公共(public)抽象类,我正在尝试使用 getClass() 方法,因为我需要来自扩展我的抽象类的类的信息。一个例子是这样的:

public String getName() {
    return getClass().getSimpleName();
}

但是,IntelliJ 报告了这一点:

Ambiguous method call. Both
getClass    ()    in Object and
getClass    ()    in Object match.

代码运行良好,但在我的 IDE 中出现数十条错误警告对我来说有点不妥。它以很多误报扰乱了我的工作流程。

为什么会显示这些错误,我该怎么做才能看不到它们?

最佳答案

像这样将我的 getClass() 调用转换为 Object

((Object) this).getClass()

为我解决了问题(使用非抽象类)。 这不是很好,但它正在工作。

此外,从项目设置中操作您的 Android SDK 并从您的 Android SDK 中删除所有 JDK jar 可以解决该错误。当然,您必须在项目中引用它才能使用该修复程序。

关于java - 抽象类中的 getClass() 给出了不明确的方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10386264/

相关文章:

android - 应用升级时是否清理了Android Activity instanceState?

java - 如何在 IntelliJ 中更改 Maven 的 Java 版本?

java - 如何用 Java 编写 JUnit 测试,检查一个特定的打印,该打印依赖于循环中的用户输入

java - 使用 Kafka-Spark Streaming API 处理流数据时进行重复

java - 如何检查哪个 Quartz Scheduler 作业没有运行

android - 使用公共(public)列比较 Sqlite 中的两个表

macos - Mac OS 上的 IntelliJ IDEA JDK 配置

java - (CMD) 退出后我想做点什么

java - 我的EditText仅由SetText()更新;每第二次尝试

java - 从 ListView 获取数据库 ID