Tôi đã viết lớp Stack của riêng mình (cho mã có liên quan, xem bên dưới). Trong số next()
-method, tôi buộc phải bỏ current.item
đến Item
, nhưng tôi không biết tại sao. Loại current.item
phải là Item
và do đó việc truyền không cần thiết - nhưng nếu tôi không truyền, tôi sẽ gặp lỗi.Cast bị ép khi sử dụng Generics trong Java
public class Stack<Item> implements Iterable<Item> {
private class Node {
Item item;
Node next;
}
private Node first= null;
public Iterator<Item> iterator() { return new StackIterator(); }
private class StackIterator<Item> implements Iterator<Item> {
private Node current = first;
public Item next(){
Item item = (Item)current.item;
current = current.next;
return item;
}
}
}
Bạn có thể gửi báo lỗi? – DeepInJava
@SanketPipariya: Loại không phù hợp: không thể chuyển đổi từ Mục sang Mục – Mina
@Override trên phương thức tiếp theo trong StackIterator nên giải quyết vấn đề ur .. – SamDJava