java 编译时报错:使用了未经检查或或不安全的操作

import java.util.*;

public class ListDemo 
{
public static void main(String[] args) 
{
@SuppressWarnings("unchecked")
StringBuilder buf = new StringBuilder("美丽"); //字符串生成器
buf.append("中");   // 输出: 美丽中
buf.append("国");   //输出:美丽中国
buf.insert(1,"达"); //输出:美达丽中国
buf.insert(0,"欢迎"); //输出:欢迎美达丽中国
System.out.println(buf);
ArrayList list = new ArrayList();   
list.add("中");
System.out.println(list);
}
}
编译报错:使用了未经检查或或不安全的操作
注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。

修正方法有两种:1,在main方法面前加@SuppressWarnings("unchecked")
代码如下:
import java.util.*;

public class ListDemo 
{
@SuppressWarnings("unchecked")
public static void main(String[] args) 
{
StringBuilder buf = new StringBuilder("美丽"); //字符串生成器
buf.append("中");   // 输出: 美丽中
buf.append("国");   //输出:美丽中国
buf.insert(1,"达"); //输出:美达丽中国
buf.insert(0,"欢迎"); //输出:欢迎美达丽中国
System.out.println(buf);
ArrayList list = new ArrayList();
list.add("中");
System.out.println(list);
}
}
原因:JAVA是一门安全性比较高的语言,它在编译之类要进行类型等一系列的检查。如果你使用了注解就可以告诉编译器不用检查,这样子就可以避过编译时期间的安全检查,这样子的效率会提高 。但同时 安全性就大打折扣了。
第二种方法,就是采用泛型。 ArrayList<String> list = new ArrayList<String>();
代码如下:
import java.util.*;

public class ListDemo 
{
//@SuppressWarnings("unchecked")
public static void main(String[] args) 
{
StringBuilder buf = new StringBuilder("美丽"); //字符串生成器
buf.append("中");   // 输出: 美丽中
buf.append("国");   //输出:美丽中国
buf.insert(1,"达"); //输出:美达丽中国
buf.insert(0,"欢迎"); //输出:欢迎美达丽中国
System.out.println(buf);
//ArrayList list = new ArrayList();
ArrayList<String> list = new ArrayList<String>();
list.add("中");
System.out.println(list);
}
}
 但具体的原因是什么呢?有待考查。








评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值