如何比较java中的泛型类型?

如何比较java中的泛型类型?,java,interface,compareto,Java,Interface,Compareto,大家好,我一直在比较java中的泛型类型 public class Odev1LinkedList<T extends Comparable<T>> extends AbstractLinkedList<T>{ /** * Bir listede elemanları uygun konuma ekler. Boş bir listeye elemanlar eklendikten * sonra küçükten büyüğe s

大家好,我一直在比较java中的泛型类型

public class Odev1LinkedList<T extends Comparable<T>> extends AbstractLinkedList<T>{
    /**
     * Bir listede elemanları uygun konuma ekler. Boş bir listeye elemanlar eklendikten
     * sonra küçükten büyüğe sıralı olur
     * @param value eklenecek değer
     */
    @Override
    public void insertInOrder(T value) {
        Node current = this.getHead();
        Node previous = new Node<>(null,null);
        if(current == null){
            addFirst(value);
            return;
        }
        while(current != null){
            if(current.value >= value){
                if(current == this.getHead()){
                    addFirst(value);
                    return;
                }
                Node newNode = new Node<>(value,current);
                previous.next = newNode;
                return;
            }else if(current.next == null){
                addLast(value);
                return;
            }
            previous = current;
            current = current.next;
        }
    }

我需要对字符串链表做同样的思考。->{A,B,D};inserInOrderC->{A,B,C,D}

我认为您可以使用try-catch块。首先,在try块中,尝试将值分配给变量类型的字符串。如果没有问题,那么您的代码将在您编写匹配字符串逻辑的比较代码的地方进一步执行。但如果不是,则抛出ClassCastException,它被catch块捕获,在catch块中,您尝试将值赋给变量类型if Integer,然后执行所需的逻辑。 诸如此类:

try {
String variable = value
//String logic
} catch (Exception ClassCastException) {
int variable = value
//Integer logic
} 

你看过可比较的文档了吗?如果current.value.compareTovalue>=0{我无法访问compareTo方法请提供节点的类定义。我没有更改节点的定义,它存储在我老师的服务器上
try {
String variable = value
//String logic
} catch (Exception ClassCastException) {
int variable = value
//Integer logic
}