- Tham gia
- 21/01/2018
- Bài viết
- 728
Chào ae, đây là tutorial đầu tiên mà mình viết ra, nếu ae biết đến Type Parameter rồi thì có thể out, còn nếu chưa biết thì có thể đọc.
1. Type Parameter là cái wtf gì vậy???
Type Parameter hay theo chị google đọc là Loại Tham Số là chữ cái (nó có thể nhiều hơn 1 chữ) chỉ định dạng field sẽ đặt trong object.
Nếu ae đã từng sử dụng ArrayList thì ae sẽ ghi là:
VD: Tạo 1 ArrayList chứa các string phải nhập là ArrayList<String>
Khi ae thử tạo 1 flag cho WorldRegion thì nó lại hiện là "T flags..."
"T" không phải là 1 object, mà nó được gọi là Type Parameter.
2. Làm sao để tạo Type Parameter???????
Sau khi bạn đã thêm modifier (hoặc ko có), bạn sẽ ghi là "<>"
VD:
chỗ KonKacObject có thể là một object bất kỳ.
Bạn cũng có thể thêm vào tên class nếu bạn muốn:
Đối với phần tên class thì nó sẽ yêu cầu "loại tham số" khi tạo 1 object mới (hay còn gọi là constructor hoặc new íntance):
3. Điều j sẽ xảy ra khi t dùng code ở trên (code "new SortedList<String>()" ấy)
Nó sẽ đổi "Value" thành "String"!!11!!1!!1!!
VD:
Bạn cũng có thể implement 1 interface List rồi thêm 1 số method vào cũng đc (vì nó có Type Parameter là T).
4. gimme sum examplezz
Đây là 1 class tên là MapEntry mà mình code ra làm example:
Tutorial đầu tiên của mình mong ae thông cảm ko ném đá, mà nếu có thì vui lòng thảo luận để mình có thể thêm
1. Type Parameter là cái wtf gì vậy???
Type Parameter hay theo chị google đọc là Loại Tham Số là chữ cái (nó có thể nhiều hơn 1 chữ) chỉ định dạng field sẽ đặt trong object.
Nếu ae đã từng sử dụng ArrayList thì ae sẽ ghi là:
Mã:
ArrayList< tên của 1 object >
Khi ae thử tạo 1 flag cho WorldRegion thì nó lại hiện là "T flags..."
"T" không phải là 1 object, mà nó được gọi là Type Parameter.
2. Làm sao để tạo Type Parameter???????
Sau khi bạn đã thêm modifier (hoặc ko có), bạn sẽ ghi là "<>"
VD:
Mã:
public <KonKacObject> void clearAll(KonKacObject anyObjectYouWant) { /* Code */}
Bạn cũng có thể thêm vào tên class nếu bạn muốn:
Mã:
public <Value> class SortedList {...}
Mã:
new SortedList<String>();
3. Điều j sẽ xảy ra khi t dùng code ở trên (code "new SortedList<String>()" ấy)
Nó sẽ đổi "Value" thành "String"!!11!!1!!1!!
VD:
Mã:
public <Value> class SortedList {
ArrayList<Value> a;
public SortedList() {
this.a = new ArrayList<Value>();
}
}
// Đoạn code trên sẽ chuyển class thành....
public class SortedList { // <= mất phần declared type parameter
ArrayList<String> a; // <= Nó đã chuyển thành String!!
public SortedList() {
this.a = new ArrayList<String>(); // <= Nó tạo 1 list chứa toàn bộ string...
}
}
4. gimme sum examplezz
Đây là 1 class tên là MapEntry mà mình code ra làm example:
Mã:
public <Type> class MapEntry {
public Type a;
public MapEntry(Type obj) {
this.a = obj;
}
public Type get() {
return this.a;
}
}
Tutorial đầu tiên của mình mong ae thông cảm ko ném đá, mà nếu có thì vui lòng thảo luận để mình có thể thêm






mình có để trên comment thứ 1