java - 尝试从一组中的一对中检测字符串

标签 java android

出于某种原因,我的 == 运算符在应该返回 true 时却没有返回 true。我看到手机上显示了两个完全相同的字符串,但它仍然没有注册为 true。有任何想法吗?它是一个 (string,int) 对的哈希集。 getFirst 返回该对中的字符串。

private boolean contains(HashSet<Pair> mySet, String current) {
        Iterator<Pair> temp = mySet.iterator();
        String compared;
        Toast.makeText(MainActivity.this, " want " +current,
                Toast.LENGTH_LONG).show();
        while (temp.hasNext()) {
            compared = temp.next().getFirst();


                Toast.makeText(MainActivity.this, compared+" "+current,
                        Toast.LENGTH_SHORT).show();
                if (compared==current)
                    Toast.makeText(MainActivity.this, "found", Toast.LENGTH_SHORT).show();
        }


        return false;
    }

最佳答案

字符串不应该与 == 进行比较。在java中,字符串是对象,==将检查它们是否是同一个对象引用。如果您想检查它们是否包含相同的字符序列,请使用 string.equals(otherString)。

关于java - 尝试从一组中的一对中检测字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11514291/

相关文章:

java - 在 DateTimeFormatter 中使用多个可选模式时是否有任何规则或顺序重要性

java - 如何将 Java EE 应用程序上的每个 HTTP 请求(路径、时间戳、用户名(如果可用))记录到数据库

java - Android JNI java.lang.NoSuchMethodError : no non-static method

java - 变量不递增 1 等于正确的 switch case 方法

android - 钛按钮.background渐变焦点

java - 在 jtextfield 中验证 'price' 的正则表达式是什么

java - BufferedReader 在 readLine() 上阻塞

java - spark submit 命令的命令行参数中是否有字符限制?

android - 如何在Android设备中获取设备日历事件列表?

android - Android早期版本如何实现setVideoScalingMode