String str1 = "apple"; String str2 = "p"; str1.compareTo(str2)是多少为什么
时间: 2024-05-21 16:14:05 浏览: 11
答案是 7。因为 compareTo() 方法根据字典顺序比较两个字符串。在这种情况下,字符串 "p" 按照字典顺序在字符串 "apple" 的前面,因此返回的值是 "apple" 的 ASCII 码值减去 "p" 的 ASCII 码值,即 97 - 112 = -15。但是由于 compareTo() 方法需要返回一个整数,因此需要将结果转换为正数,因此最后返回的是 7。
相关问题
string.compareto
string.compareTo是Java中String类的一个方法,用于比较两个字符串的大小。它返回一个整数值,代表两个字符串的比较结果。
该方法的语法为:
```
public int compareTo(String anotherString)
```
在比较过程中,会按照字典顺序比较两个字符串的字符。返回的整数值有以下几种情况:
- 若字符串相等,返回0。
- 若调用该方法的字符串在字典顺序上小于参数字符串,返回一个小于0的值。
- 若调用该方法的字符串在字典顺序上大于参数字符串,返回一个大于0的值。
这样,可以通过比较两个字符串的compareTo返回值的正负来判断它们的大小关系。
例如:
```
String str1 = "apple";
String str2 = "banana";
int result = str1.compareTo(str2);
```
在上述例子中,result的值为一个负数,表示"apple"在字典顺序上小于"banana"。
int compareTo(String anotherString)代码
以下是一个简单的Java代码示例,演示如何使用String类的compareTo()方法:
```java
public class CompareStrings {
public static void main(String[] args) {
String str1 = "apple";
String str2 = "banana";
String str3 = "apple";
int result1 = str1.compareTo(str2);
int result2 = str1.compareTo(str3);
System.out.println("str1 compared to str2: " + result1);
System.out.println("str1 compared to str3: " + result2);
}
}
```
输出结果如下:
```
str1 compared to str2: -1
str1 compared to str3: 0
```
在上面的示例中,我们定义了三个字符串变量:str1、str2和str3。我们首先使用str1调用compareTo()方法并传递str2作为参数,这会返回一个负整数。这是因为在字典顺序中,"apple"在"banana"之前。
接下来,我们使用str1调用compareTo()方法并传递str3作为参数,这会返回0。这是因为两个字符串相同。
需要注意的是,compareTo()方法是区分大小写的。如果要进行不区分大小写的比较,可以使用String类的compareToIgnoreCase()方法。