黑马程序员技术交流社区

标题: 看我代码哪里出了问题?标注的那一句 [打印本页]

作者: android-liu    时间: 2015-3-30 00:14
标题: 看我代码哪里出了问题?标注的那一句
  1. package com.xiangying.panxu;
  2. /*冒泡排序工具类(针对引用数据类型)*/
  3. public class SortTools {

  4.         public static void yiYongSort(Object[] arr){
  5.                 for(int x=0;x<arr.length-1;x++){
  6.                         for(int y=0;y<arr.length-1-x;y++){
  7.                                 //看我下面这句哪里出了问题
  8.                                 if((Comparable)arr[y].compareTo(arr[y+1])<0)
  9.                                 swap(arr,y, y+1);
  10.                                
  11.                                
  12.                         }
  13.                        
  14.                        
  15.                        
  16.                        
  17.                 }
  18.                
  19.                
  20.                
  21.                
  22.         }

  23.         public  static void swap(Object[] arr, int y, int i) {
  24.                 Object temp=arr[y];
  25.                 arr[y]=arr[i];
  26.                 arr[i]=temp;
  27.                
  28.         }

  29. }
复制代码

作者: 圣光忏悔    时间: 2015-3-30 04:16
((Comparable) arr[y])
你把arr[y]强转为Comparable类型的时候要把括号补齐,不然就相当于Object arr[y]去调用compareto方法了,自然就报错了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2