字符串的布尔比较

时间:2016-10-05 17:03:02

标签: java string compare

我现在正在学习java。我有一本达到SE6日期的书。 现在有一个练习让我问:

  

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

当我尝试时:

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

我收到错误> operator is not valid for type String

现在我的问题是 - 如果这本书已经过时而且有些事情发生了变化,或者我是否误解了任务中的某些内容?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

您不能在Java中的字符串上使用关系运算符(&lt;,&lt; =,&gt;,&gt; =)。 Java不依赖于运算符重载。

您可以使用compareTo方法比较字符串: 如果参数是一个按字典顺序排列等于该字符串的字符串,则值为0;如果参数是按字典顺序大于此字符串的字符串,则小于0的值;如果参数是一个按字典顺序小于该字符串的字符串,则值大于0。