我想获取一个字符串的前 4 个字符以与另一个字符串进行比较。然而,当我做类似的事情时
String shortString;
shortString = longString.subString(0,3);
它带有 longString 的后备数组,因此无法轻松进行比较。
我也尝试过将 longString 转换为字符数组并插入每个字符,但我似乎总是以长字符串结尾。 Android 开发文档说使用 String 构造函数来删除支持数组,但它似乎对我也不起作用。
String shortString = new String(longString.subString(0,3));
如有任何建议,我们将不胜感激!
最佳答案
首先,它是 string.substring()
而不是 .subString()
。
其次,“无法轻易比较”是什么意思?您可以轻松地将字符串与 .equals()
进行比较。
public static void main(String[] args) {
String longString = "abcdefghijklmn";
String shortString = longString.substring(0, 3);
System.out.println(shortString.equals(longString));
}
这段代码打印出 false
,这是应该的。
更新:
如果您调用 .substring()
以便它生成与原始字符串长度相同的字符串(例如 "abc".substring(0,2)
)它将返回对同一字符串的引用。因此,在这种情况下,.equals()
将返回 true
。
关于java - 从字符串中删除后备数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5293374/