我用java编程,编译时提示“使用了未经检查或不安全的操作”?怎么会出现这种情况?
import java.io.*;
import java.util.Vector;
class MGraph 
{
private Vector ves;
private int[][] edges;
private int vexnum,arcnum,i,j;
public MGraph(String[] Ves,int[][]Edges,int m,int n)    //m,n分别代表顶点数和弧数
{ves=new Vector(java.util.Arrays.asList(Ves));
for(i=0;i<n;i++)
 for(j=0;j<n;j++)
{edges[i][j]=Edges[i][j];}
vexnum=m;
arcnum=n;
}
public Vector getVes(){return ves;}
public int getVexnum(){return vexnum;}
public int getArcnum(){return arcnum;}
public void setEdges(int[][] Edges)
{for(i=0;i<vexnum;i++)
 for(j=0;j<vexnum;j++)
{edges[i][j]=Edges[i][j];}
}
public void setVexnum(int aVexnum)
{vexnum=aVexnum;
}
public void setArcnum(int aArcnum)
{arcnum=aArcnum;
}

}

解决方案 »

  1.   

    改成下面这样就可以了!
    ves = new Vector<String>(java.util.Arrays.asList(Ves));
    这是JDK 5.0开始的泛型。有些警告是无法屏蔽和解决的,只能采用
     @SuppressWarnings("unchecked")
      public void myMethod(){
       ... 
      }
      

  2.   

    谢谢楼上各位。
    还有个问题,private int[][] edges; 
    我定义成私有的,应怎样写get方法?
      

  3.   

    public int[][] getEdges(){
      ....
    }
      

  4.   


    @SuppressWarnings("unchecked")
    =================================
      有些时候这个东西很恶心的说
      

  5.   

    public int[][] getEdges(){ 
      .... 
    }
    里面应该怎么写?在外方法怎么调用?