81,092
社区成员
发帖
与我相关
我的任务
分享
Character[] arr = new Character[] { 'A', 'f', 'a', 'B', 'b', 'j', 'k' };
Arrays.sort(arr, new Comparator<Character>()
{
@Override
public int compare(Character o1, Character o2)
{
char c1 = o1.charValue();
char c2 = o2.charValue();
if (c1 >= 65 && c1 <= 90)/* A~Z */
{
if (c2 >= 65 && c2 <= 90)
{
return c1 - c2;
}
else
/* c2在97~122 a~z */
{
return c1 + 32 - c2;
}
}
else
{
if (c2 >= 65 && c2 <= 90)
{
return c1 - c2 - 32;
}
else
/* c2在97~122 a~z */
{
return c1 - c2;
}
}
}
});
for (char a : arr)
{
System.out.print(a);
}