zoukankan      html  css  js  c++  java
  • 关于java中“使用了未经检查或不安全的操作、有关详细信息,请使用 ——Xlint:unchecked重新编译”

    今天看《算法 第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转化的时候会出错。

  • 相关阅读:
    前端展示(四)
    小谢第66问:页面关闭鼠标光标
    小谢第64问:nuxt项目中增加百度分析统计
    js 判断当前是手机还是电脑
    布谷鸟自定义教程
    vs code常用插件及配置
    小程序几件小事儿
    删除 json 数据中的某一项
    小程序图片预览
    小程序 navigator 取消点击效果
  • 原文地址:https://www.cnblogs.com/phdeblog/p/9062702.html
Copyright © 2011-2022 走看看