gpt4 book ai didi

java - 比较Java中的泛型类型,如果类型是字符串,如何忽略大写字母?

转载 作者:行者123 更新时间:2023-12-01 17:19:23 25 4
gpt4 key购买 nike

我在比较泛型类型时遇到问题,我有一个 Entry,现在我必须将键与另一个键进行比较,所以不假思索地做出了等于...

private DListNode<Entry<K,V>> findNode(K key){
DListNode<Entry<K, V>> node = head;

while(node != null && !node.getElement().getKey().equals(key))
node = node.getNext();

return node;
}

!node.getElement().getKey().equals(key)

但问题显然是,如果我有一个字符串并且大写字母排除将不会发生...... equalsIgnoreCase 当然不能使用。

那么我怎样才能使它适用于每种类型呢?包括带大写的字符串

最佳答案

private DListNode<Entry<K,V>> findNode(K key){
DListNode<Entry<K, V>> node = head;

while(node != null && !specialEquals(node.getElement().getKey(),key))
node = node.getNext();

return node;
}

private static boolean specialEquals(K key1, K key2) {
if( key1 instanceof String && key2 instanceof String ) {
return ((String) key1).equalsIgnoreCase((String) key2);
} else {
return key1.equals(key2);
}
}

关于java - 比较Java中的泛型类型,如果类型是字符串,如何忽略大写字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19848461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com