为了账号安全,请及时绑定邮箱和手机立即绑定

java有个小问题请前辈们指教

package 调试;


import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;


public class CarList {

public List<Car> CarSelect;// 泛型:< 指定类型>   用了泛型之后可以不用强转而且必须输入指定的类型

public CarList(){

CarSelect=new ArrayList<Car>();

}

public void CarAdd(){

Car t=new Car("100W","机甲");

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);


}

      //查询数据

public void CarGet(){

 int size=CarSelect.size();

 for(int i=0;i<size;i++){

  Car tt4= CarSelect.get(i);

  System.out.println("钱:"+tt4.money+",名字:"+tt4.name);

 

 }

}


     //修改数据

public void CarSet(){

System.out.println("第零位将被修改");

 CarSelect.set(0,new Car("1w","哈哈哈"));

 CarGet();

 CarForeach();

 

}


      public void CarRemove(){

     System.out.println("0位删除数据");

     Car x= CarSelect.get(0);

     CarSelect.remove(x);

     System.out.println("删除成功");

     CarGet();

     CarForeach();

      }

    /* // 在CarSelect中添加非car类型的字符串

      public void test(){

      System.out.println("嫩不能在CarList添加一个字符串尼?");

     CarSelect.add("我只是一个无辜的字符串");

     CarGet();//出现异常,原因:在进行强转时无法将String强转成Car类型,抛出异常

      }

     */ 

      public void  CarForeach(){

        for(Car x:CarSelect){

        System.out.println("用foreach查询数据");

        System.out.println("foreach方法  钱:"+x.money+"foreach方法   名字:"+x.name);

        }

      }

         //泛型集合可以添加泛型子类的对象

      public void fanxingtest(){

    CarSon son=new CarSon();

    son.name="泛型子类";

    son.money="泛型子类测试成功";

    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();//调用后会发现报错

gg.fanxingtest();

}

}

这是我看了老师后自己打的,在打的过程中出现了个疑问

老师在打泛型不能使用基本类型只能使用包装类时

 public void 泛型不能使用基本类但能使用包装类(){

      List<Car> ceshi=new ArrayList<Car>();

       }

     这个ceshi没用定义啊? 不应该像第一次定义CarSelect一样,

  public List ceshi();//

List<Car> ceshi=new ArrayList<Car>();//

定义然后初始化,可老师这个好像直接初始化了.为什么?

正在回答

1 回答

定义了,把ceshi定义成了一个List类型

0 回复 有任何疑惑可以回复我~
#1

慕瓜8829151 提问者

嗯嗯刚才有前辈提醒了我局部变量的问题,报错原因是我忽视了局部变量,在里面添加了public.
2017-03-06 回复 有任何疑惑可以回复我~
#2

慕瓜8829151 提问者

还是谢谢您能把菜鸟的烂代码看完,还指出了错误
2017-03-06 回复 有任何疑惑可以回复我~
#3

慕瓜8829151 提问者

非常感谢!
2017-03-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

java有个小问题请前辈们指教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信