Tag: classcastexception

从调用返回另一个代理的Java.lang.reflect.Proxy在赋值时导致ClassCastException

所以我正在玩geotools,我想我会代理他们的一个数据访问类,并跟踪它们在代码中的使用方式。 我编写了一个动态代理并在其中包含了一个FeatureSource(接口),然后快乐地完成了它。 然后我想看一下featureSource返回的一些传递对象,因为FeatureSource做的主要事情是返回一个FeatureCollection(FeatureSource类似于sql DataSource和featurecollection到sql语句)。 在我的invocationhandler中,我只是将调用传递给底层对象,打印出目标类/方法/ args并导致结果,但是对于返回FeatureCollection(另一个接口)的调用,我将该对象包装在我的代理中(相同的类,但一个新的实例,应该不重要吗?)并返回它。 BAM! Classcastexception: java.lang.ClassCastException: $Proxy5 cannot be cast to org.geotools.feature.FeatureCollection at $Proxy4.getFeatures(Unknown Source) at MyClass.myTestMethod(MyClass.java:295) 调用代码: FeatureSource featureSource = … // create the FS featureSource = (FeatureSource) FeatureSourceProxy.newInstance(featureSource, features); featureSource.getBounds();// ok featureSource.getSupportedHints();// ok DefaultQuery query1 = new DefaultQuery(DefaultQuery.ALL); FeatureCollection results = featureSource.getFeatures(query1); //<- explosion here 代理人: public class FeatureSourceProxy implements […]

Hibernate – > ArrayList不能转换为Set

我有一个Java EE应用程序,我使用Hibernate。 域对象,我将List / ArrayList更改为Set / HashSet,因为最好使用Sets。 但是在我的Dao实现中我遇到了一个问题: public Set getAllPersons() { SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session sess = sessionFactory.getCurrentSession(); Transaction tx = sess.beginTransaction(); @SuppressWarnings(“unchecked”) Set items = (Set) sess.createQuery(“from Item”).list(); tx.commit(); return items; } 在这里我收到一个错误: java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Set 我该怎么做才能避免这个错误? 提前谢谢你和最诚挚的问候。

ClassCastException将List 转换为Class

我有一个方法,它有一个输入列表和每个输入值我必须将其转换为所需的类型。 (实际上这个列表有“some”forms的参数值,我应该转换成所需类型,所需类型是方法所需的类型,这是通过reflection调用api) 我写了这样的代码: Type[] argTypes = method.getGenericParameterTypes(); List acutalValues = // List of actual values from method input. // Resultant list of arguments which will holds casted values. List arguments = new ArrayList(argTypes.length); for (int i = 0; i < argTypes.length; i++) { Class requiredClassTYpe = (Class) argTypes[i]; // argTypes[1] =java.util.List fails.. // cast the […]

如何在java中将ArrayList转换为String ,Arraylist包含VO对象

请帮我转换ArrayList到String []。 ArrayList包含Object(VO)类型的值。 例如, 问题是我需要将国家/地区列表转换为字符串数组,对其进行排序,然后将其放入列表中。 但是我得到了ClassCastException。

这有什么不对? 我得到一个java.lang.ClassCastException错误,但我看不出我出错的地方

这是我第一次真正使用列表和队列,所以这可能是一个非常简单的错误。 是因为我的队列中充满了无法转换为整数的对象吗? //populate array for(int i=0; i<11; i++){ numberarray[i] = i; } // populate list with numbers from array List numList = Arrays.asList(numberarray); Collections.shuffle(numList); Queue queue = new LinkedList(); queue.addAll(numList); int num1 = (Integer) queue.poll(); assignPictures(button01, num1);

将HashMap值添加到TreeSet时出错

这是一些示例代码……我似乎总是得到一个ClassCastException …任何人都指出我做错了什么? package com.query; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.TreeSet; import org.junit.Test; import com.google.common.collect.Sets; public class ClassCastExceptionTest { @Test public void test() { A a1 = new A(1); A a2 = new A(2); A a3 = new A(3); Map<String, A> map = new HashMap<String, A>(); map.put(“A1”, a1); map.put(“A2”, a2); […]

Android java.lang.ClassCastException:android.widget.RelativeLayout无法强制转换为android.widget.EditText

我在Android中遇到以下exception,点击按钮将我从一个活动带到另一个活动(我是Android开发中的新手,所以它可能不是最明亮的问题): java.lang.ClassCastException:android.widget.RelativeLayout无法强制转换为android.widget.EditText 我已经尝试过几次清理项目了,我已经尝试过Android Tools中的Fix Project Properties选项,我已经检查了我的xml是否有错误,但我似乎无法弄清楚这一点。 我必须提一下,该按钮运行良好一段时间,直到发生此exception。 这是我的xml: 这是抛出exception的活动中的onCreate方法: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_customer_info); this.editMail = (EditText)findViewById(R.id.editCustomerEmail); this.editName = (EditText)findViewById(R.id.editCustomerName); this.editPhone = (EditText)findViewById(R.id.editCustomerPhone); // the exception points me here }

Hibernate类强制转换exception

在尝试将结果集转换为映射类时,我正在使用hibernate获取类强制转换exception…我能够看到返回的结果集中的数据…但是它以Object []的forms返回我能够将Object []设置为一个List …我正在做我的hibernate映射吗? 我从查询中获取了正确的数据,但它没有正确映射… 制图 com.ibm.db2.jcc.DB2Driver jdbc:db2://**** ***** ***** 1 true NONE org.hibernate.dialect.DB2Dialect org.hibernate.cache.NoCacheProvider thread 映射类 @Entity @Table(name = “EQP_UT”) public class EQP_UT implements Serializable { @Id private String INITIAL; @Id private String NUMBER; private Integer AXL_CNT; private String EQP_TYP_CD; private String EIN; private Integer TRUK_CNT; @OneToOne @JoinTable(name = “EQP_COMP_PRIMARY”, joinColumns = {@JoinColumn(name = […]

将SuperClass的对象转换为子类

我有这样的代码。 超级 public class Actual { public int x = 123; } 子类 public class Super extends Actual{ public int x = 999; public int y = 12345; } public class Sub extends Super { public int x = 144; } 所以问题是我可以将超类的对象转换为子类吗? 这是对这个问题的权利,我试过了什么? public class Mid1Prob1 { public static void main(String[] args) { System.out.println(“Testing…”); int […]

如何从Object获取布尔值

我尝试了不同的方法来解决这个问题,但我无法修复它。 我试图获取在checkBox的此方法中传递的Object的布尔值: public boolean onPreferenceChange(Preference preference, Object newValue) { final String key = preference.getKey(); referenceKey=key; Boolean changedValue=!(((Boolean)newValue).booleanValue()); //ClassCastException occurs here } 我明白了: java.lang.ClassCastException:java.lang.String无法强制转换为java.lang.Boolean