我写了下面的一个简单的java程序,然而却遇到jsdk1.5中泛型,这个新的,却不知道如何来使用,请问一下,我下面的程序段中
如何才能把泛型申明加进去呢?程序如下:
import java.util.*;
import java.io.*;
public class buyCar implements Serializable
{
Hashtable myGoods=new Hashtable();
public void buyCar() //构造函数
{ }
public void addGoods(String Goods_id,int Goods_Count)
{ //把商品加入购物车
if(myGoods.containsKey(Goods_id))
{ //购物车中存放在此商品则累加个数
int Temp_Count=((Integer)myGoods.get(Goods_id)).intValue();
Temp_Count=Temp_Count+Goods_Count;
myGoods.put(Goods_id,new Integer(Temp_Count));
}
else
{ //购物车中不存在此商品
myGoods.put(Goods_id,new Integer(Goods_Count));
}
}
public boolean minusGoods(String Goods_id,int Goods_Count)
{ //把商品从购物车中拿走
if(myGoods.containsKey(Goods_id))
{ //购物车中存在此商品则减少个数
int Temp_Count=((Integer)myGoods.get(Goods_id)).intValue();
Temp_Count=Temp_Count-Goods_Count;
if(Temp_Count<=0)
deleteGoods(Goods_id);
else
myGoods.put(Goods_id,new Integer(Temp_Count));
return true;
}
else
{ //购物车中不存在此商品
return false;
}
}
public Hashtable listMyGoods()
{ //得到购物车 中所有商品
return myGoods;
}
public boolean deleteGoods(String Goods_id)
{ // 从购物车中删除一件商品
if(myGoods.remove(Goods_id)==null)
return false;
else
return true;
}
}
如何才能把泛型申明加进去呢?程序如下:
import java.util.*;
import java.io.*;
public class buyCar implements Serializable
{
Hashtable myGoods=new Hashtable();
public void buyCar() //构造函数
{ }
public void addGoods(String Goods_id,int Goods_Count)
{ //把商品加入购物车
if(myGoods.containsKey(Goods_id))
{ //购物车中存放在此商品则累加个数
int Temp_Count=((Integer)myGoods.get(Goods_id)).intValue();
Temp_Count=Temp_Count+Goods_Count;
myGoods.put(Goods_id,new Integer(Temp_Count));
}
else
{ //购物车中不存在此商品
myGoods.put(Goods_id,new Integer(Goods_Count));
}
}
public boolean minusGoods(String Goods_id,int Goods_Count)
{ //把商品从购物车中拿走
if(myGoods.containsKey(Goods_id))
{ //购物车中存在此商品则减少个数
int Temp_Count=((Integer)myGoods.get(Goods_id)).intValue();
Temp_Count=Temp_Count-Goods_Count;
if(Temp_Count<=0)
deleteGoods(Goods_id);
else
myGoods.put(Goods_id,new Integer(Temp_Count));
return true;
}
else
{ //购物车中不存在此商品
return false;
}
}
public Hashtable listMyGoods()
{ //得到购物车 中所有商品
return myGoods;
}
public boolean deleteGoods(String Goods_id)
{ // 从购物车中删除一件商品
if(myGoods.remove(Goods_id)==null)
return false;
else
return true;
}
}
import java.util.*;
import java.io.*;
public class buyCar implements Serializable
{
Hashtable<String, Integer> myGoods=new Hashtable<String, Integer>();
public void buyCar() //构造函数
{ }
public void addGoods(String Goods_id,int Goods_Count)
{ //把商品加入购物车
if(myGoods.containsKey(Goods_id))
{ //购物车中存放在此商品则累加个数
int Temp_Count=((Integer)myGoods.get(Goods_id)).intValue();
Temp_Count=Temp_Count+Goods_Count;
myGoods.put(Goods_id,new Integer(Temp_Count));
}
else
{ //购物车中不存在此商品
myGoods.put(Goods_id,new Integer(Goods_Count));
}
}
public boolean minusGoods(String Goods_id,int Goods_Count)
{ //把商品从购物车中拿走
if(myGoods.containsKey(Goods_id))
{ //购物车中存在此商品则减少个数
int Temp_Count=((Integer)myGoods.get(Goods_id)).intValue();
Temp_Count=Temp_Count-Goods_Count;
if(Temp_Count <=0)
deleteGoods(Goods_id);
else
myGoods.put(Goods_id,new Integer(Temp_Count));
return true;
}
else
{ //购物车中不存在此商品
return false;
}
}
public Hashtable<String, integer> listMyGoods()
{ //得到购物车 中所有商品
return myGoods;
}
public boolean deleteGoods(String Goods_id)
{ // 从购物车中删除一件商品
if(myGoods.remove(Goods_id)==null)
return false;
else
return true;
}
}以后发帖最好给点分,不然就像现在一样,无人跟进,要知道,给分也是一种美德
呵呵~
玩笑~
public static void main(String [] args){
//定义一泛型类的Gen 的一个Integer版本
Gen<Integer> intOb = new Gen<Integer>(88);
intOb.showType();
int i = intOb.getOb();
System.out.println ("value"+i);
//定义一泛型类的Gen 的一个String版本
Gen<String> intOb1 = new Gen<String>("xt");
intOb1.showType();
String j = intOb1.getOb();
System.out.println ("value"+j);
}
}
------------------------------
public class Gen <T>
{
private T ob;
public Gen(T ob){
this.ob = ob;
}
public T getOb(){
return ob;
}
public void setOb(T ob){
this.ob = ob;
}
public void showType(){
System.out.println ("T的类型为"+ob.getClass().getName());
}
}
这样是声明list集合中放的是Object类型的HashMap<String,Integer> map = new HashMap<String, Integer>();
这样是声明这个HashMap 是用String类型的值做“键”,用Integer类型,也就是int类型的值做map的“值”。
其中的类型你可以自己根据需求换