午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

解決java.lang.ClassCastException的java類型轉(zhuǎn)換異常的問題

瀏覽:16日期:2022-08-23 15:57:34

在項目中,需要使用XStream將xml string轉(zhuǎn)成相應(yīng)的對象,卻報出了java.lang.ClassCastException: com.model.test cannot be cast to com.model.test的錯誤。

原因:

項目中應(yīng)該是采用了熱部署,devtools,因為累加載器的不同所以會導(dǎo)致類型轉(zhuǎn)換失敗

措施:

在pom.xml中將以下代碼注釋掉:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency>

補(bǔ)充知識:TreeSet在add對象時報ClassCastException錯誤

TreeSet實(shí)現(xiàn)了SortedSet接口,可以對集合中的對象進(jìn)行排序,但是在使用TreeSet時要注意一點(diǎn),那就是要給TreeSet傳遞一個比較器,也就是指定比較規(guī)則,否則的話,它就不知道誰大誰小,也就不能排序了。此時它會報一個ClassCastException的異常。

jdk1.6文檔里add方法關(guān)于這個異常是這樣描述的

Throws:

ClassCastException - if the specified object cannot be compared with the elements currently in this set

翻譯:ClassCastException - 如果指定的對象不能與當(dāng)前在此集合中的元素進(jìn)行比較

public class TreeSetTest{ public static void main(String[] args) { MyComparator comparator = new MyComparator(); // TreeSet<Student> set = new TreeSet<Student>(comparator); // 錯誤的代碼,少了比較器,運(yùn)行則報下面的異常。 TreeSet<Student> set = new TreeSet<Student>(); Student s1 = new Student(50); Student s2 = new Student(70); Student s3 = new Student(40); set.add(s1); set.add(s2); set.add(s3); System.out.println(set); }}class Student { int score; public Student(int score) { this.score = score; } @Override public String toString() { // TODO Auto-generated method stub return String.valueOf(this.score); }}class MyComparator implements Comparator<Student>{ @Override //按分?jǐn)?shù)高低比較,int為返回負(fù)數(shù)、零、整數(shù),這里我寫的不咋好,但意思一樣 public int compare(Student o1, Student o2) { // TODO Auto-generated method stub int result = 0; if(o1.score > o2.score) { result = 1; }else { result = -1; } return result; }}

錯誤的運(yùn)行結(jié)果:

Exception in thread 'main' java.lang.ClassCastException: com.shengsiyuan2.Student cannot be cast to java.lang.Comparable at java.util.TreeMap.compare(TreeMap.java:1294) at java.util.TreeMap.put(TreeMap.java:538) at java.util.TreeSet.add(TreeSet.java:255) at com.shengsiyuan2.TreeSetTest.main(TreeSetTest.java:17)

解決辦法:

把 TreeSet set = new TreeSet(); 改成:TreeSet set = new TreeSet(comparator);即可。

以上這篇解決java.lang.ClassCastException的java類型轉(zhuǎn)換異常的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 青娱乐av在线 | 高清成人在线 | 91插插插插插 | 国产成人三级在线观看 | 在线观看视频福利 | 欧美一区 | 香蕉视频91| 一本黄色片 | 欧美性x x x| 综合色婷婷 | 神马午夜激情 | 亚洲国产精| 日本黄在线 | 成人在线观看网站 | 日本黄色片免费看 | 久久精品在线 | 欧美视频一二区 | 精品一区二区三区在线视频 | www.超碰在线 | 天天爽夜夜爽人人爽 | 日韩毛片儿 | 成人做爰66片免费看网站 | 少妇高潮一区二区三区喷水 | 成人久久久久 | 成人高清 | 欧美日韩三级在线 | 色香蕉av| 精品国产成人 | 天天av网 | 午夜天堂视频 | 日本猛少妇色xxxxx猛叫 | 日韩一区网站 | 亚洲女人天堂 | 99精品一区| 日本欧美国产 | 风间由美一区二区三区 | 四虎在线免费视频 | 91亚洲精品久久久蜜桃网站 | 91精品久久久久久久久久久久 | 日韩欧美三级在线 | 久久资源av|