我现在正在学习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)方法,该方法返回一个数字,具体取决于哪个字符串在词法上更大。