Tôi muốn thực hiện một lớp chung của mẫu này:lớp Generic chấp nhận một trong hai loại
class MyGenericClass<T extends Number> {}
Vấn đề là, tôi muốn được chấp nhận cho T để thể là Integer hay Long, nhưng không phải đôi. Vì vậy, hai tờ khai chỉ chấp nhận được sẽ là:
MyGenericClass<Integer> instance;
MyGenericClass<Long> instance;
Có cách nào để làm điều đó không?
Lợi ích của việc sử dụng chung chung ở đâu? Kể từ khi thực hiện một phương pháp có tham số của Type T sẽ chấp nhận bất kỳ số nào? –
Trong mã của bạn, nó chắc chắn là không. Vì không thể viết phương thức chấp nhận tham số của Kiểu T. Bạn phải viết hai định nghĩa riêng biệt của từng phương thức như vậy, một cho Integer và một cho Long. –
@djaqeel Điều đó không đúng. Nếu bạn cố gắng sử dụng phương pháp frob với một cái gì đó khác với một Long hoặc một số nguyên, bạn sẽ nhận được một ngoại lệ trình biên dịch. – luke