【发布时间】:2019-10-18 08:45:13
【问题描述】:
我正在尝试使用Arrays.sort 函数对字符数组进行排序。
我正在使用以下代码:
class Solution {
public String customSortString(String S, String T) {
Map<Character, Integer> poses = new HashMap<>(S.length());
for(int i = 0 ; i < S.length() ; i++){
poses.put(S.charAt(i), i);
}
char[] tmpArr = T.toCharArray();
Arrays.sort(tmpArr , new Comparator<Character>(){
@Override
public int compare(Character c1, Character c2) {
Integer aPos = poses.get(c1);
Integer bPos = poses.get(c2);
if(aPos == null || bPos == null)
return 0;
return Integer.compare(aPos,bPos);
}
});
return new String(tmpArr);
}
}
但是我收到了这个错误:
Error:(14, 19) java: no suitable method found for sort(char[],<anonymous java.util.Comparator<java.lang.Character>>)
method java.util.Arrays.<T>sort(T[],java.util.Comparator<? super T>) is not applicable
(inference variable T has incompatible bounds
equality constraints: char
upper bounds: java.lang.Character,java.lang.Object)
method java.util.Arrays.<T>sort(T[],int,int,java.util.Comparator<? super T>) is not applicable
(cannot infer type-variable(s) T
(actual and formal argument lists differ in length))
我做错了什么? 看起来角色没有自动拆箱。我怎样才能做到这一点?
【问题讨论】:
标签: java