
正文
java不安全代码 java安全编码规范
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JAVA程序 编译提示“未经检查或不安全操作”
分类: 电脑/网络 程序设计 其他编程语言
问题描述:
import java.util.*;
class Pailie
{
public static void main(String args[])
{
Vector vector=new Vector();
for (int i=1;i=18;i++)
{
vector.add(new Integer(i));
}
int a[]=new int[vector.size()];
int i=0;
while (vector.size()0)
{
int number=(int)(Math.random()*vector.size());
Integer integer=(Integer)vector.elementAt(number);
a[i]=integer.intValue();
vector.removeElementAt(number);
i++;
}
for(i=0;i18;i++)
{
System.out.print(" "+a[i]);
}
}
}
D:\javajavac ABC.java
注意:ABC.java使用了未经过检查或不安全的操作。
注意:要了解详细信息,请使用-Xlint:unchecked重新编译。
希望各位告诉我是哪不安全?
并且告诉我“使用-Xlint:unchecked重新编译”应该怎么写命令行~
谢谢~
尽快解决的话有额外加分~
解析:
这是个警告信息,不是编译错误,运行是没有问题的,只是jdk api的更新,你看的是老书吧,对于类似Vector ArrayList之类的 *** 而言,新的api要求指明其存储元素的类型,用VectorInteger vector=new VectorInteger()来代替你的Vector vector=new Vector(); 就可以了!
另外,javc ABC.java与你的类不对应,改用javac Pailie.java,这个楼上说的没有问题。
相关问答
Q1: JAVA为什么不适合写病毒?
java
编译完,还要通过jvm才能运行的,不像C/C++直接编译成机器码就可以执行
sun公司在jvm上做了安全机制,所以java写不了病毒,不安全的代码都会被虚拟机屏蔽
这样做的好处就是内存回收不用做了,交给虚拟机,代码安全了许多,跨平台等。。。
Q2: java 使用了未经检查或不安全的操作
你光导入了List,没有导入ArrayList,如果图方便就像楼上说的直接import java.util.*;这样就把util包下所以的类都进行了导入
未经检查或不安全的操作,是因为你使用列表时没有使用泛型,这不是错误,只是警告,不影响使用,如果你使用泛型就不报那个警告了
假如你的list里将来放的都是String,那么在定义时可以这样
ListString list=new ArrayListString();这样就只能存放String了,不能存放其它类型
我们真正使用list时,大部分情况下里面放的都是同一种类型,所以使用泛型还是不错的选择
Q3: Java警告使用了不安全的代码云云 recompile with -Xlint:unchecked for details还请指导,谢谢
recompile with -Xlint:unchecked for details 重新用参数 -Xlint编译一下,就能看到详细java不安全代码的信息。可能使用过时的方法java不安全代码了吧
Q4: Java编 了个小程序。。提示未经检查或不安全的操作
//是泛型的问题,加点东西就好了。
public class SortedArray {
public static int indexOf(int[] table, int value) {
for (int i = 0; i table.length; i++) {
if (table[i] == value)
return i;
}
return -1;
}
//泛型是这样用的 Comparable中的类型必须是这个尖括号中的类型
public static int indexOf(ComparableString[] table,
ComparableString cobj) {
if (table != null cobj != null) {
for (int i = 0; i table.length
cobj.compareTo((String) table[i]) = 0; i++) {
System.out.println(table[i] + "?");
if (cobj.compareTo((String) table[i]) == 0)
return i;
}
}
return -1;
}
public static void main(String[] args) {
String[] keywords = { "abstact", "boolean", "break", "byte", "case",
"catch", "char", "class", "continue", "defuault", "do",
"double", "else", "extends", "false", "final", "finally",
"float", "for", "if", "implements", "import", "instanceof",
"int", "interace", "long", "native", "new", "null", "package",
"private", "protected", "public", "return", "short", "static",
"super", "switch", "synchronized", "this", "throw", "throws",
"transient", "true", "try", "void", "volatile", "while" };
if (args.length 0)
for (int i = 0; i args.length; i++) {
int find = SortedArray.indexOf(keywords, args[i]);
System.out
.println(args[i] + ((find != -1) ? "" : "不") + "是关键字");
}
else
for (int i = 0; i args.length; i++) {
String key = "const";
int find = SortedArray.indexOf(keywords, key);
System.out
.println(args[i] + ((find != -1) ? "" : "不") + "是关键字");
}
}
}
关于java不安全代码和java安全编码规范的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







