我现在正在学习Java。我有一本书截止到SE6。
现在有一个练习问我:


编写一个使用两个String参数并使用所有布尔比较的方法来比较两个String并打印结果的方法。在main();中用一些不同的String对象调用您的方法。


当我尝试:

public static void compare(String a, String b){
    System.out.println(a>b);
}


我说错了> operator is not valid for type String

现在我的问题是-这本书是否过时并且自那时以来有所更改,还是我误解了任务中的某些内容?

最佳答案

我想这个任务是为您提供自己的字符串比较实现的,所以例如:

for (int i = 0; i < Math.max(a.length(), b.lentgh(); i++) {
  if (a[i] < b[i]) {
    System.out.println("a < b");
    return;
  }
  // ...


字符串是对象,而不是基元,并且不能与比较运算符进行比较。字符串中有一个compareTo(String anotherString)方法,该方法返回一个数字,具体取决于哪个字符串在词法上更大。

09-30 15:05
查看更多