- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我读过很多关于 ArrayStoreExceptions 的帖子,其中大部分都属于以下类别之一:
我的不属于这些类别中的任何一个。有 one other case ,OP 怀疑某种只出现在 Unix 上的错误。我想我遇到了那种情况,但我不确定如何更接近这个问题。
我尽可能地分解了代码,它看起来像这样:
System.out.println("Declaring RecordValues array");
RecordValues[] rv = new RecordValues[3];
System.out.println("This array is meant for "+rv.getClass().getComponentType());
System.out.println("Adding user defaults which is: "+userdefaults.getClass().getName());
System.out.println("Its parent is: "+userdefaults.getClass().getSuperclass().getName());
rv[0] = userdefaults;
System.out.println("Adding templvalues which is: "+tmplvalues.getClass().getName());
rv[1] = tmplvalues;
System.out.println("Adding sessionvalues which is: "+tmplvalues.getClass().getName());
rv[2] = sessionvalues;
它输出:
[ant:createwo] Declaring RecordValues array
[ant:createwo] This array is meant for class org.kp.mbe.arscli.datamap.RecordValues
[ant:createwo] Adding user defaults which is: org.kp.mbe.arscli.datamap.UserValues
[ant:createwo] Its parent is: org.kp.mbe.arscli.datamap.RecordValues
:createwo FAILED <--
...
Caused by: java.lang.ArrayStoreException: org.mbe.arscli.datamap.UserValues
UserValues 是 RecordValues 的子类型。我已经使用有问题的类创建了一些简单的测试,但无法复制错误。此外(这是非常奇怪的部分),这已经工作了六个多月。我对该工具的其他部分进行了更改,但这些库附近的任何地方都没有。它突然弹出。
我想知道还有什么可能导致 ArrayStoreException。我 100% 确定 UserValues 是 RecordValues 的子类,但当我尝试将它添加到数组时,它失败了。主机是64位RH linux,OpenJDK java版本1.7.0.45。
我知道 ArrayStoreException 告诉我的是什么,我的问题是如何进一步解决问题?如果 UserValues 是一个 RecordValues,我从这里去哪里?
最佳答案
发布后,我放弃了数组并将其更改为列表,虽然仍然失败,但给出了一个更具体的问题:
Caused by: java.lang.LinkageError: loader constraint violation: when
resolving method
"org.mbe.arscli.datamap.ValueResolver.resolve(Ljava/util/List;)Lorg/mbe/arscli/datamap/RecordValues;"
the class loader (instance of org/apache/tools/ant/loader/AntClassLoader5) of the current class,
org/build/ant/CreateRemedyWo, and the class loader (instance of java/net/URLClassLoader) for resolved class,
org/mbe/arscli/datamap/ValueResolver, have different Class objects for the type )Lorg/mbe/arscli/datamap/RecordValues; used in the
signature
正如@Taylor 猜测的那样,这是由多个类加载器通过 gradle 引起的。虽然我已经很久没有更改这段代码了,但我最近更改了构建文件中的依赖项声明。幸运的是,我从 List 中得到的错误比从 Array 中得到的错误更精确!
关于java - 如何解决 ArrayStoreException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24192198/
为什么下面的代码会抛出ArrayStoreException? double[] a = {2.0,3.4,3.6,2.7,5.6}; int[] b = {2,3,4,5}; System.arra
当我使用 Junit 进行测试时,我似乎无法运行此测试。它仅在失败跟踪上显示错误和“java.lang.ArrayStoreException”。如果有人能解决我的问题,那将是一个很大的帮助。 Lin
下面是我的代码,用于将字符串转换为其等效的 ascii 字符串。该字符串将只包含数字 - 这就是为什么我为每个字符分配 2 个字节(因为 1 到 9 在 ascii 中分别是 49 到 58)但我收到
private static void genericArrayTest() { ArrayList[] exceptionListArray = new ArrayList[10];
我有一个奇怪的问题。我有三个类(class)。书籍(抽象)和两个子类(小说、非小说)。我创建了书籍引用数组。该数组可以包含两个子类的对象。我有以下 Fiction 类代码。 public class
我读过很多关于 ArrayStoreExceptions 的帖子,其中大部分都属于以下类别之一: 基本误解(将基类放入子类的数组声明中) 在从列表转换为数组时出现类似的错误 围绕数组与泛型的“协变”问
我正在尝试创建一个链表数组来处理散列值冲突。我有一个对象数组,我试图存储 linkedList 但它似乎不起作用。我做错了什么,或者我应该采取更有效的方法。 这是我在运行代码时遇到的错误。 Excep
考虑以下对 Java 的 ArrayList#toArray 方法的测试。请注意,我借用了这个有用的代码 answer . public class GenericTest { public
当我遇到这样的问题时,我正在处理继承。我的代码如下 public class Parent { public void methodParent() {
Object[] o = "a;b;c".split(";"); o[0] = 42; 抛出 java.lang.ArrayStoreException: java.lang.Integer 同时 S
为什么我会收到此异常? java.lang.ArrayStoreException: java.lang.Integer at MyLinkedList.toArray(MyLinkedList.ja
我确实有这样一段代码: List userIdentifiers = getUsersModule().getUsersIdentifiers(); if (userIdentifiers.isEmp
这是Core Java一书中的例子 两类员工和经理。经理扩展员工。下面的代码 Manager[] mans ={new Manager("Adam"),new Manager("Ben")};
我正在存储对 BiConsumers 的引用适应Consumer : public void setConsumer(BiConsumer consumer) { fieldConsumer
我正在尝试运行一个基本的 JUNG 图示例 - 我能够在独立的 java 程序中运行以下代码,但是当我将相同的代码放入使用 Maven 构建的服务器端 jar 中时,它失败了Visualization
我的理解是你会得到 ArrayStoreException当您尝试插入不兼容类型的对象时。 Object[] array = new String[1]; array[0] = 1; 有人可以举个例子
您好,当我尝试将实现接口(interface)的类存储到定义为接口(interface)数组的数组中时,我收到此 Java ArrayStoreException 异常。代码如下: private I
每当我尝试使用 JPA 2.0 和 Websphere 运行更新查询时,都会收到 java.lang.ArrayStoreException。我正在使用测试实用程序,并且成功更新了正确的行等等,没有事
我正在创建一个类,其中包含名为 array 的 Object[] 类型的实例变量。此类包含返回 T[] 的方法,其中 T 是泛型。该方法应将 array 的内容复制到要返回的数组中。相关代码如下所示:
我的问题是,为什么我在线程“main”java.lang.ArrayStoreException 中收到异常: at java.lang.System.arraycopy (native method
我是一名优秀的程序员,十分优秀!