java - 在 Java 中检查字符串值

标签 java string substring

<分区>

我正在尝试查找字符串的前两个字母是否为“hi”。如果是,它应该返回 true,如果不是,它应该返回 false。我使用 substring 来查找给定字符串的值,但是当条件成立时,它没有返回 true。我一定不了解我刚接触的 Java。

这是我的代码:

class Main {
    public boolean startHi(String str) {


        String str1 = str.substring(0,1);
        String str2 = str.substring(1,2);

        if(str1=="h" && str2=="i"){
            return true;
        }
        if(str!="hi" || str.length()<=2){
            return false;
        }
        else{
            return false;
        }
    }
    public static void main(String[] args) {
        System.out.println(new Main().startHi("hi ho"));
        System.out.println(new Main().startHi("hi"));
        System.out.println(new Main().startHi("howhi"));
    }
}

字符串以“hi”开头,它看到了,但返回 false。

最佳答案

你可以使用 String.startsWith(String prefix)

public boolean startHi(String str) {
    return str.startsWith("hi");
}

所以毕竟您可能不需要自己的 startHi() 方法,但可以使用标准的 Java API。

关于java - 在 Java 中检查字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36432397/

相关文章:

android - 将逗号插入整数

C - 检查字符串是否是另一个字符串的子字符串

java - 以一种安全的方式调用 API 方法,以防止 JAVA 中库版本之间的更改

java - 方法意外返回 null

java - 如何阻止 java replaceAll() 删除反斜杠?

java - 如何在 Lucene 的 SynonimMap 中传递 wordnet 数据库?

c# - PredicateBuilder:OR 条件嵌套在 .And() 中

android - 来自 res/values/strings.xml 的字符串未显示在我的代码中使用

c++ - 从字符串中过滤掉 url

MYSQL 查询替换字符串的一部分