关于java中“使用了未经检查或不安全的操作、有…
2018-06-18 00:59:51来源:未知 阅读 ()
今天看《算法 第4版》排序章节时,发现了一个了一个小问题。先贴一下代码:
1 public class Selection{ 2 public static void main(String[]args){ 3 Integer[]a={3,5,7,3,8,27,679,8,564,23}; 4 sort(a); 5 show(a); 6 } 7 public static void sort(Comparable<>[]a){ 8 for(int i=0;i<a.length-1;i++){ 9 int min=i; 10 for(int j=i+1;j<a.length;j++){ 11 if(less(a[j],a[min])) 12 min=j; 13 } 14 exch(a,i,min); 15 } 16 } 17 private static boolean less(Comparable v,Comparable w){ 18 return v.compareTo(w)<0; 19 } 20 private static void exch(Comparable[]a,int i,int j){ 21 Comparable t=a[i]; 22 a[i]=a[j]; 23 a[j]=t; 24 } 25 private static void show(Comparable[]a){ 26 for(int i=0;i<a.length;i++){ 27 System.out.print(a[i]+" "); 28 } 29 System.out.println(); 30 } 31 }
直接编译会提示:
但是已经生成字节码文件(.class),说明编译通过了,运行后也能得出正确答案。
经过查阅,是没有使用泛型,comparable后面加上<Integer>,但是本题为了保持sort函数的复用性,还是不加比较好。
还有值得注意的一点是,定义数组时不能使用(int,double,string)等,而应该使用(Integer,Double,String),否则向Comparable转化的时候会出错。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash