在做購物車的時候把商品新增進了泛型集合,做刪除的時候根據id重新從數
據庫查詢商品,從集合刪除時失敗,然後簡單敲了個demo測試,首先定義乙個類
publicclass
student
public
void
setname(string name)
public
string getpad()
public
void
setpad(string pad)
}
然後定義泛型集合,new兩個模擬較
listslist=new arraylist();student s1=new
student();
system.out.println(s1);
student s2=new
student();
system.out.println(s2);
system.out.println(s1.equals(s2));
slist.add(s1);
system.out.println(slist.size());
slist.remove(s2);
system.out.println(slist.size());
輸出結果為
輸出結果為[code=j**a]dao.models.student@4f1d0d
dao.models.student@1fc4bec
false
11
我們發現兩個物件之間並不相等,所以刪除失敗!網上查詢了一下要 比較物件必須要重寫equals()方法
重寫方法
publicclass
student
public
void
setname(string name)
public
string getpad()
public
void
setpad(string pad)
public
boolean
equals(object obj)
else
else
}else
}
} }
這裡判斷確實有些噁心,
重新執行man函式,輸出結果
dao.models.student@4f1d0ddao.models.student@1fc4bec
true
10
刪除成功
自定義類使用泛型and方法使用泛型
使用泛型的自定義類,泛型可以使用任意的資料型別,在建立物件的時候確定是什麼資料型別,建立物件的時候不使用泛型,那就預設是object型別 格式 package cn.zhuobo.day10.aboutgeneric public class classgeneric public classgen...
自定義泛型方法
不是說方法使用了介面或者類的泛型就叫泛型方法 比如下面的這個collection中的方法就不是泛型方法,而是普通方法 boolean add e e 這個方法是泛型方法 t toarray t a 泛型方法是說這個方法不確定放什麼型別的結構 collection e 介面宣告處用的是e,用e的位置一...
Java集合整理 自定義泛型
泛型是jdk1.5,新新增的特性,其作用是對集合進行 引數化型別 在jdk1.5之前,還沒有泛型這一概念,集合中的元素是object型別,所以,每次使用集合中的元素時,需要將元素向下造型成對應型別才能使用,錯誤的可能性很大,非常的不方便。為了簡化操作,提高效率,便有了泛型這一新特性,有了泛型,集合就...