最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年09月28日 10:22:54   作者:bdlaxx  
這篇文章主要介紹了解決java.lang.ClassCastException的java類型轉(zhuǎn)換異常的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

原因:

項目中應(yīng)該是采用了熱部署,devtools,因?yàn)槔奂虞d器的不同所以會導(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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot URL帶有特殊字符([]/{}等),報400錯誤的解決

    SpringBoot URL帶有特殊字符([]/{}等),報400錯誤的解決

    這篇文章主要介紹了SpringBoot URL帶有特殊字符([]/{}等),報400錯誤的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring MVC 請求處理流程步驟詳解

    Spring MVC 請求處理流程步驟詳解

    這篇文章主要介紹了Spring MVC 請求處理流程詳解,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-04-04
  • java實(shí)現(xiàn)變更文件查詢的方法

    java實(shí)現(xiàn)變更文件查詢的方法

    這篇文章主要介紹了java實(shí)現(xiàn)變更文件查詢的方法,可通過java查詢文件最后修改時間的方法實(shí)現(xiàn)查找變更文件的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Java棧之鏈?zhǔn)綏4鎯Y(jié)構(gòu)的實(shí)現(xiàn)代碼

    Java棧之鏈?zhǔn)綏4鎯Y(jié)構(gòu)的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java棧之鏈?zhǔn)綏4鎯Y(jié)構(gòu)的實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • SpringBoot在接收參數(shù)的七種方式詳解

    SpringBoot在接收參數(shù)的七種方式詳解

    這篇文章主要介紹了SpringBoot在接收參數(shù)的七種方式詳解,隨著前后端的分離,接口方式開發(fā)成為普遍的開發(fā)形式,前端相對于后端來說,常用的接口傳參方式就一定要了解和熟悉,下面?我們梳理了常用的七種?Controller層接受參數(shù)的方式,需要的朋友可以參考下
    2023-10-10
  • SpringBoot在IDEA中實(shí)現(xiàn)熱部署(JRebel實(shí)用版)

    SpringBoot在IDEA中實(shí)現(xiàn)熱部署(JRebel實(shí)用版)

    這篇文章主要介紹了SpringBoot在IDEA中實(shí)現(xiàn)熱部署(JRebel實(shí)用版),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • mongo分布式鎖Java實(shí)現(xiàn)方法(推薦)

    mongo分布式鎖Java實(shí)現(xiàn)方法(推薦)

    下面小編就為大家?guī)硪黄猰ongo分布式鎖Java實(shí)現(xiàn)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Linux如何尋找Java安裝路徑

    Linux如何尋找Java安裝路徑

    這篇文章主要介紹了Linux如何尋找Java安裝路徑問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • SpringBoot訪問不到controller的解決方案

    SpringBoot訪問不到controller的解決方案

    這篇文章主要介紹了SpringBoot訪問不到controller的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 淺談Java的兩種多線程實(shí)現(xiàn)方式

    淺談Java的兩種多線程實(shí)現(xiàn)方式

    本篇文章主要介紹了淺談Java的兩種多線程實(shí)現(xiàn)方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論

来宾市| 绵竹市| 博兴县| 长子县| 余江县| 昌乐县| 乌什县| 兴隆县| 平江县| 于田县| 高雄市| 鄂温| 绥江县| 雷波县| 云林县| 革吉县| 庆云县| 鄯善县| 资阳市| 青川县| 通榆县| 邻水| 澄迈县| 务川| 富裕县| 修水县| 遵义市| 于田县| 江源县| 鄂尔多斯市| 遵化市| 枣庄市| 西华县| 桐梓县| 平乐县| 佛山市| 荃湾区| 崇左市| 八宿县| 防城港市| 盱眙县|