转换回原始类时出现 ClassCastException 错误

2024-04-13

我有以下代码:

public void doJob() {
    MyObj s;

    for ( Object o : MyObj.all().fetch()) {
        s = (MyObj) o;  // ClassCastException here

        if (!s.fileExists()) {
        //Do some stuff
        }
    }
}

这是抛出这个异常:

play.exceptions.JavaExecutionException: models.MyObj cannot be cast to models.MyObj
    at play.jobs.Job.call(Job.java:155)
    at Invocation.Job(Play!)
Caused by: java.lang.ClassCastException: models.MyObj cannot be cast to models.MyObj
    at jobs.OrphanSurveys.doJob(OrphanSurveys.java:18)
    at play.jobs.Job.doJobWithResult(Job.java:50)
    at play.jobs.Job.call(Job.java:146)
    ... 1 more

(如果重要的话,此方法在 Play Job 类内部运行。)

The MyObj.all().fetch()返回某种包含所有内容的 IterableMyObj数据库中的对象。MyObj从 Play! 继承此方法!框架的模型类,如果重要的话。这就是为什么它返回一个列表Objects 而不是MyObjs,我无法改变它的工作方式。

那么,有什么原因我无法回传吗?MyObj?我可以看到从一个Object,但是Java似乎知道该对象曾经是什么类。

Thanks!


看来您有类加载器问题。 fetch() 方法返回的对象被加载到与当前线程中用于尝试和转换的类加载器不同的类加载器中。

尝试这个来确认。将三行代码添加到现有代码中。

for ( Object o : MyObj.all().fetch()) {
    // Check classloaders
    System.out.println(o.getClass().getClassLoader());
    System.out.println(MyObj.class.getClassLoader());
    break;
    //
    s = (MyObj) o;  // ClassCastException here

    if (!s.fileExists()) {
    //Do some stuff
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

转换回原始类时出现 ClassCastException 错误 的相关文章

  • JPA 中的复合键

    我想创建一个具有自动生成的主键的实体 而且还有一个由其他两个字段组成的唯一复合键 我如何在 JPA 中执行此操作 我想这样做是因为主键应该用作另一个表中的外键 并且使其复合并不好 在下面的代码片段中 我需要命令和模型是唯一的 pk当然是主键
  • Java:无法从同一包中的不同类访问静态变量

    这很奇怪 因为我有一个可以访问 Frame dimension getWidth 的 Character 类 及其伙伴 getHeight 但是当我想在 Map 类中使用它时 Eclipse 强调了它并且无法给我反馈 运行该程序最终会出现
  • 使用 GWT 读取非常大的本地 XML 文件

    我正在使用 GWT 构建我的第一个 Java 应用程序 它必须从一个非常大的 XML 文件中读取数据 当我尝试发送对文件中信息的请求时遇到问题 并且我不太确定它是否与文件的大小或我的语义有关 在我的程序中 我有以下内容 static fin
  • org.hibernate.QueryException:无法解析属性:文件名

    我正在使用休眠Criteria从列中获取值filename在我的桌子上contaque recording log 但是当我得到结果时 它抛出异常 org hibernate QueryException 无法解析属性 文件名 com co
  • 如何根据运行的 jar 的结果让我的 ant 任务通过或失败?

    我正在运行 CrossCheck 无浏览器 js 单元测试 作为 ant 脚本的一部分 如果 CrossCheck 测试失败 我希望 ant 报告失败 这是 build xml 中的相关部分
  • 什么时候可以在 Java 中使用 Thead.stop() ?

    Thread stop 的 Java 文档听起来好像如果您调用 Thread stop 世界就会终结 已弃用 这种方法本质上是不安全的 停止线程 Thread stop 导致它解锁所有已锁定的监视器 作为未经检查的 ThreadDeath
  • 使用 Guice 优化注册表

    你好 今天思考了一种优化 有一些疑问 语境 我正在使用 Guice 2 进行 Java 开发 在我的网络应用程序中 我有一个转换器注册表 可以即时转换为某种类型 转换器描述如下 public class StringToBoolean im
  • 生成的序列以 1 开头,而不是注释中设置的 1000

    我想请求一些有关 Hibernate 创建的数据库序列的帮助 我有这个注释 下面的代码 在我的实体类中 以便为合作伙伴表提供单独的序列 我希望序列以 1000 开头 因为我在部署期间使用 import sql 将测试数据插入数据库 并且我希
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • 使用架构注册表对 avro 消息进行 Spring 云合约测试

    我正在查看 spring 文档和 spring github 我可以看到一些非常基本的内容examples https github com spring cloud samples spring cloud contract sample
  • 返回 Java 8 中的通用函数接口

    我想写一种函数工厂 它应该是一个函数 以不同的策略作为参数调用一次 它应该返回一个函数 该函数根据参数选择其中一种策略 该参数将由谓词实现 嗯 最好看看condition3为了更好的理解 问题是 它没有编译 我认为因为编译器无法弄清楚函数式
  • 是否可以使用 Java Guava 将函数应用于集合?

    我想使用 Guava 将函数应用于集合 地图等 基本上 我需要调整 a 的行和列的大小Table分别使所有行和列的大小相同 执行如下操作 Table
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • Java Swing:需要一个高质量的带有复选框的开发 JTree

    我一直在寻找一个 Tree 实现 其中包含复选框 其中 当您选择一个节点时 树中的所有后继节点都会被自动选择 当您取消选择一个节点时 树中其所有后继节点都会自动取消选择 当已经选择了父节点 并且从其后继之一中删除了选择时 节点颜色将发生变化
  • 在 Google App-Engine JAVA 中将文本转换为字符串,反之亦然

    如何从字符串转换为文本 java lang String to com google appengine api datastore Text 反之亦然 Check Javadoc http code google com appengin
  • Hamcrest Matchers - 断言列表类型

    问题 我目前正在尝试使用 Hamcrest Matchers 来断言返回的列表类型是特定类型 例如 假设我的服务调用返回以下列表 List
  • Resteasy 可以查看 JAX-RS 方法的参数类型吗?

    我们使用 Resteasy 3 0 9 作为 JAX RS Web 服务 最近切换到 3 0 19 我们开始看到很多RESTEASY002142 Multiple resource methods match request警告 例如 我们
  • 泛型、数组和 ClassCastException

    我想这里一定发生了一些我不知道的微妙事情 考虑以下 public class Foo

随机推荐

  • 在 proguard 之后运行 espresso 测试

    我正在寻找一种在 proguard 运行后运行我的 espresso 测试的方法 这应该是一个针对配置错误的 proguard 的安全网 只是在将 butterknife 更新到 7 0 后忘记更新 proguard 配置 假设您使用 An
  • 垂直对齐:基线在 Chrome 中不起作用

    老实说 我有一个非常愚蠢的问题 不管怎样 就到这里吧 我一直在尝试使用垂直对齐 基线 这本身就起作用 问题是它可以在 IE 和 Firefox 中运行 我的问题是 由于某些奇怪的原因 它在 Chrome 中不起作用 chrome 中问题的屏
  • 正则表达式用标签包装文本[重复]

    这个问题在这里已经有答案了 我需要一个 JavaScript 正则表达式来包装 hashtags span tags Example 之前 我需要 help 请 Thanks 之后 我需要 span help span 请 span Tha
  • Spring Boot 注解 @GetMapping 无法解析为类型

    我第一次尝试在本地计算机上从 Spring Initializr 创建 Spring 项目 但我收到这些错误 GetMapping 无法解析为类型 我的 pom xml 文件
  • C++ 可变参数模板 匹配任何类型参数的模板实参

    我想知道是否可以编写一个模板函数 该函数可以将任何其他任意模板作为参数并正确匹配模板名称 即不仅仅是结果类 我所知道的工作是这样的 template
  • 如何围绕 WPF 中的特定点旋转、平移和缩放控制对象

    我有一个自定义的控件 它是一个矩形 里面有一些细节 但它是一个矩形 我有一个中心点 X Y 我称之为 重心 它 代表 该点 这意味着当我为对象设置新位置时 我希望该点位于设置的位置 当我旋转对象时 我需要它围绕该点旋转 当我缩放对象时 该点
  • 我应该在 MVP(或 VM)中对我的视图进行单元测试,或者如何将视图中的代码保持在最低限度?

    我在应用程序中使用模型 视图 表示模型 我想知道是否需要为视图创建单元测试 我使用的是 net 2 0 WinForms 现在 通常视图应该非常简单 以至于没有必要为其创建单元测试 至少这是我从视图与表示模型 PM 分离的目标中得到的想法
  • Ruby 中的大乘法输出结果为负

    我写了一些代码 应该对 1 sum 0 1 1000 each do n sum n n puts n n sum sum end 由于某种原因 在数字 28 之后输出为负值 n 29 sum 20154009777005735238923
  • 在表单视图中设置当前日期

    我想将当前日期放入表单视图 dateadded 中 但当我将其加载到浏览器中时它没有显示 我正在使用后台代码 但如何显示日期和时间 这是我后面的代码 using System using System Collections Generic
  • ShaderEffectItem 的奇怪 alpha 混合结果

    我正在尝试使用以下方法在 QML 项目上应用简单的 alpha 蒙版ShaderEffectItem 这是一个最小的 非 工作示例 我有一个从红到白的渐变作为背景 并且想要在其顶部绘制一个绿色的 200x200 正方形 该正方形的 alph
  • 使用 Java 通过访问者模式从 AST 构建控制流图

    我试图弄清楚如何实现我的 LEParserCfgVisitor 类 以便从已使用 JavaCC 生成的抽象语法树构建控制流图 我知道已经存在一些工具 但我正在尝试这样做 为我的编译器期末考试做准备 我知道我需要一个将图形保存在内存中的数据结
  • 重定向 stdio 时 Linux BASH 内存泄漏

    我有内存泄漏某处 但它似乎与我的程序无关 我做出这个大胆的声明是基于这样一个事实 一旦我的程序终止 无论是通过正常方式 段错误还是中止 内存都不会恢复 如果我的程序是罪魁祸首 我会认为 MMU 会恢复所有内容 但情况似乎并非如此 仅当我将
  • 如何在javascript中编写json文件

    好的 我正在使用 js 编写一个 Web 操作系统 我使用 JSON 作为文件系统 我已经在网上寻找有关 JSON 内容的教程大约一周了 但我找不到任何有关从网页编写 JSON 文件的内容 我需要在文件中创建新对象 而不是更改现有对象 到目
  • 缺少 mingwm10.dll

    我正在使用 Qt Creator 编写一个 C 项目 一切工作正常 调试 发布 但是当我直接运行编译后的 exe 转到 exe 文件并运行它 时 它说 mingwm10 dll 丢失 对于这个问题我能做什么 您可以执行以下操作 as cha
  • 本地主机上使用 DotNetOpenAuth 的 OpenID 提供程序

    我在本地运行 DotNetOpenAuth 示例提供程序 它似乎可以通过 Web 浏览器正确处理请求 我可以在调试器中单步执行授权处理程序 我有一个项目可以通过 Google 和其他提供商进行身份验证 但无法通过示例提供商进行身份验证 示例
  • 使用 VBA 将唯一编号添加到 Excel 数据表

    我有两列数字 它们在一起将是唯一的 复合键 我想创建一个唯一的 ID 号 第三列 类似于 MS Access 使用主键的方式 我想在 VBA 中执行此操作 但我不知道如何执行此操作 我的 Excel 中的 VBA 不太好 所以希望您能看到我
  • iOS NSBlock的NSMethodSignature(或编码)

    我需要一种方法来在运行时检查给定块的参数数量和参数类型 我当前正在编写的某些对象映射库需要这个 我将字符串格式的值映射到选择器 希望块也如此 我尝试了下面示例中的代码 但由于某种原因它对我不起作用并且返回 nil 字符串描述 你知道一种在运
  • 如何在 Ubuntu 中注册文件关联

    我正在创建 Ubuntu 安装程序 我需要注册自己的文件扩展名 但我找不到任何有关如何执行此操作的示例 人们可以为我提供一些关于如何执行此操作的脚本片段吗 注意 我正在使用安装干扰器 http www installjammer com 帮
  • 带有heredocs的Python子进程

    我正在使用 Python 的子进程模块 尝试了一些示例 但我似乎无法让 Heredoc 语句发挥作用 这是我正在玩的一个简单的例子 import subprocess a A String of Text p subprocess Pope
  • 转换回原始类时出现 ClassCastException 错误

    我有以下代码 public void doJob MyObj s for Object o MyObj all fetch s MyObj o ClassCastException here if s fileExists Do some