Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个contains(T entry)方法有什么问题?JAVA链表_Java_List_Generics_Linked List_Sentinel - Fatal编程技术网

这个contains(T entry)方法有什么问题?JAVA链表

这个contains(T entry)方法有什么问题?JAVA链表,java,list,generics,linked-list,sentinel,Java,List,Generics,Linked List,Sentinel,我正在创建一个链表类,并试图实现这个contains()方法 我有head和tailsentinel节点,因此循环从head.next开始长度是列表的大小。我能给你们的只有:哦 public boolean contains(T entry) { boolean found = false; Node current = head.next; for (int i = 0; i < length; i++) { if (current.equa

我正在创建一个链表类,并试图实现这个
contains()
方法

我有
head
tail
sentinel节点,因此循环从
head.next开始<代码>长度
是列表的大小。我能给你们的只有:哦

public boolean contains(T entry) {

    boolean found = false;
    Node current = head.next;

    for (int i = 0; i < length; i++) {

        if (current.equals(entry)) {

            found = true;
        }
        current = current.next;
    }
    return found;
}
公共布尔包含(T项){
布尔值=false;
节点电流=head.next;
for(int i=0;i
问题在于,您正在将
节点
T
进行比较,如果equals方法正确地填充了正确的契约,那么在不同的类中,始终会返回false

i、 e.重新检查这一行:

if (current.equals(entry)) {

问题是您正在将
节点
T
进行比较,如果您的equals方法正确地填充了正确的契约,那么在不同的类中总是会返回false

i、 e.重新检查这一行:

if (current.equals(entry)) {

发生了什么?它不起作用吗?它断了吗?此外,如果没有更多的上下文,这甚至无法编译。例如,“长度”是什么?很抱歉没有具体说明。在我的测试仪中,如果我将“hello”添加到列表中,并调用myList.contains(“hello”);它返回false。我已经彻底测试了我的add方法,它肯定有效。长度是我的列表中有多少项。怎么了?它不起作用吗?它断了吗?此外,如果没有更多的上下文,这甚至无法编译。例如,“长度”是什么?很抱歉没有具体说明。在我的测试仪中,如果我将“hello”添加到列表中,并调用myList.contains(“hello”);它返回false。我已经彻底测试了我的add方法,它肯定有效。长度是我的列表中有多少项。