【问题标题】:how to compare a string with an integer [duplicate]如何将字符串与整数进行比较[重复]
【发布时间】:2016-02-13 18:52:12
【问题描述】:

我有这个循环,但我不知道为什么它从不检查条件,我认为它可能用于 integer.tostring,如果可以请帮助:

   public static void linerSearch(String[] array1, int key){
        int size = array1.length;
        for(int i=0;i<size;i++){
            if(array1[i] == Integer.toString(key)){ // < -- This line
                System.out.println("The node is already in the list");
            }
        }  
    }

【问题讨论】:

    标签: java for-loop integer


    【解决方案1】:
    if(Integer.parseInt(array1[i]) == key){
    

    【讨论】:

    • 不错的选择
    【解决方案2】:
    if(array1[i].equals(Integer.toString(key))){
    

    == 比较对象引用而不是值。你必须使用equals()

    【讨论】:

      【解决方案3】:

      您不能将字符串的内容与== 进行比较,您必须使用equals() 方法:

      if (array1[i].equals(Integer.toString(key))
      

      【讨论】:

      • 您可以将字符串与== 进行比较,但这是对象引用的相等性,而不是内容
      • 你完全正确!我会相应地修改我的帖子!
      猜你喜欢
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      • 2021-07-10
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      相关资源
      最近更新 更多