java有個(gè)小問(wèn)題請(qǐng)前輩們指教
package 調(diào)試;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CarList {
public List<Car> CarSelect;// 泛型:< 指定類型> ? 用了泛型之后可以不用強(qiáng)轉(zhuǎn)而且必須輸入指定的類型
public CarList(){
CarSelect=new ArrayList<Car>();
}
public void CarAdd(){
Car t=new Car("100W","機(jī)甲");
CarSelect.add(t);
Car t1= ?CarSelect.get(0);
Car[] tt={new Car("50W","寶馬"),new Car("45w","哈雷")};
CarSelect.addAll(Arrays.asList(tt));
Car tt2= CarSelect.get(1);
Car tt3= CarSelect.get(2);
}
? ? ? //查詢數(shù)據(jù)
public void CarGet(){
?int size=CarSelect.size();
?for(int i=0;i<size;i++){
? Car tt4= CarSelect.get(i);
? System.out.println("錢(qián):"+tt4.money+",名字:"+tt4.name);
?
?}
}
? ? ?//修改數(shù)據(jù)
public void CarSet(){
System.out.println("第零位將被修改");
?CarSelect.set(0,new Car("1w","哈哈哈"));
?CarGet();
?CarForeach();
?
}
? ? ? public void CarRemove(){
? ? ?System.out.println("0位刪除數(shù)據(jù)");
? ? ?Car x= CarSelect.get(0);
? ? ?CarSelect.remove(x);
? ? ?System.out.println("刪除成功");
? ? ?CarGet();
? ? ?CarForeach();
? ? ? }
? ? /* // 在CarSelect中添加非car類型的字符串
? ? ? public void test(){
? ? ? System.out.println("嫩不能在CarList添加一個(gè)字符串尼?");
? ? ?CarSelect.add("我只是一個(gè)無(wú)辜的字符串");
? ? ?CarGet();//出現(xiàn)異常,原因:在進(jìn)行強(qiáng)轉(zhuǎn)時(shí)無(wú)法將String強(qiáng)轉(zhuǎn)成Car類型,拋出異常
? ? ? }
? ? ?*/?
? ? ? public void ?CarForeach(){
? ? ? ? for(Car x:CarSelect){
? ? ? ? System.out.println("用foreach查詢數(shù)據(jù)");
? ? ? ? System.out.println("foreach方法 ?錢(qián):"+x.money+"foreach方法 ? 名字:"+x.name);
? ? ? ? }
? ? ? }
? ? ? ? ?//泛型集合可以添加泛型子類的對(duì)象
? ? ? public void fanxingtest(){
? ? CarSon son=new CarSon();
? ? son.name="泛型子類";
? ? son.money="泛型子類測(cè)試成功";
? ? CarSelect.add(son);
? ? CarForeach();
? ?
? ? ?
? ? ? }
? ? ? ?public void 泛型不能使用基本類但能使用包裝類(){
? ? ? List<Car> ceshi=new ArrayList<Car>();
? ? ? ?}
? ? ??
? ? ??
? ? ??
? public static void main(String[] args) {
CarList gg=new CarList();
gg.CarAdd();
gg.CarGet();
gg.CarSet();
gg.CarRemove();
//gg.test();//調(diào)用后會(huì)發(fā)現(xiàn)報(bào)錯(cuò)
gg.fanxingtest();
}
}
這是我看了老師后自己打的,在打的過(guò)程中出現(xiàn)了個(gè)疑問(wèn)
老師在打泛型不能使用基本類型只能使用包裝類時(shí)
?public void 泛型不能使用基本類但能使用包裝類(){
? ? ? List<Car> ceshi=new ArrayList<Car>();
? ? ? ?}
? ? ?這個(gè)ceshi沒(méi)用定義啊? 不應(yīng)該像第一次定義CarSelect一樣,
? public List ceshi();//
List<Car> ceshi=new ArrayList<Car>();//
定義然后初始化,可老師這個(gè)好像直接初始化了.為什么?
2017-03-06
定義了,把ceshi定義成了一個(gè)List類型