Cài đặt generic trong Java như nào?

Chào các bạn, hôm nay mình học các interface trong java8 và mình muốn cài đặt để hiểu. Mình không giỏi về generic trong Java cài đặt như nào nên mong mọi người giúp đỡ ạ. Mình ghi như dưới thì báo lỗi.


  1. Sao chép và dán mã của bạn lên. Không chụp hình.
  2. Thông báo lỗi cụ thể của trình biên dịch.
3 Likes

Như @SITUVN.gcd đề cập, cậu nên paste code của cậu ở dạng raw text hơn là chụp ảnh, cùng với lỗi mà cậu gặp. Như thế, bọn tớ mới có thể copy code của cậu, mà không tốn thời gian viết lại (trừ khi cậu thực sự muốn bọn tớ tốn thời gian vì cậu :smile:).


Method getIn4 cài đặt có vẻ kỳ cục đó cậu :smile:
Cậu không cần parameter g ở method đó, khi mà cậu gán g lại trong method.

Ở Java, cậu đã có interface Function<T, R>, nên có lẽ cậu nên sử dụng nó thay cho interface GetAble của cậu (cậu đặt tên cũng kỳ cục đó :smile:).

Cài đặt của method đó sẽ như thế này (code này tớ chưa test trên IDE đâu, nên có thể sai nhé):

public <T, R> R getInfo(T object, Function<T, R> function) {
  return function.apply(object);
}

// Usage
// create student object
String name = getInfo(student, Student::getName);
// do whatever with name

Method getIn4from của cậu hẳn nhiên không đúng rồi. O là subclass của GetAble (tên thật kỳ cục) không có nghĩa là subclass của GetAble<T>. Ngoài ra, parameter g cũng vô dụng.

Hope it helps!

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?