Class 的compareToIgnoreCase方法String是使用下面的代码段(jdk1.8.0_45)中的方法实现的.
一世.为什么都Character.toUpperCase(char)和Character.toLowerCase(char)用于比较?它们中的任何一个都不足以达到比较的目的吗?
II.为什么s1.toLowerCase().compare(s2.toLowerCase())不习惯实施compareToIgnoreCase? - 我理解可以用不同的方式实现相同的逻辑.但是,我仍然想知道是否有特定的理由选择一个而不是另一个.
public int compare(String s1, String s2) {
int n1 = s1.length();
int n2 = s2.length();
int min = Math.min(n1, n2);
for (int i = 0; i < min; i++) {
char c1 = s1.charAt(i);
char c2 = s2.charAt(i);
if (c1 != c2) {
c1 = Character.toUpperCase(c1);
c2 = Character.toUpperCase(c2);
if (c1 != c2) {
c1 = Character.toLowerCase(c1);
c2 = Character.toLowerCase(c2);
if (c1 …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个带有二叉树的项目,并且已经从存储库中获取了用于打印出树的代码。
长话短说,如果我可以在代码中实现接口,它将以我想要的格式打印输出。
但是,其中之一需要异常返回接口类。(见下文)
@Override
public IBT getLeft() {
return null;
}
Run Code Online (Sandbox Code Playgroud)
这是获取左子树的方法,其中IBT是二叉树接口。
这比我做的简单吗?
返回接口有帮助吗?