java - 从字符串中删除后备数组

标签 java android string

我想获取一个字符串的前 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/

相关文章:

android - 以编程方式在 Android 中使应用程序全屏显示

java - 从 ImageVeiw 获取可绘制对象时出现空指针异常

C:退出函数时丢失字符串

c++ - std::string和int的串联导致移位。为什么?

java - 如何在 SpringData MongoDb Java bean 中映射二进制数据?

java - 使用 JSON-Simple 的 JSON 解析不起作用

java - 如何使用 ORM Lite 保留 Java8 LocalDate/LocalDateTime?

java - 监听MySQL数据库的变化并自动更新前端,无需显式刷新前端

android - React Native 构建在构建除调试/发布之外的新构建类型时失败

javascript - 如何在两个逗号之间获取字符串