输出如果向后字符串为True或False

时间:2015-07-09 17:14:51

标签: java

我在使用方法backwards()时需要输出true或false的程序,指示字符串是否向后...但是当它应该为真时它会一直显示false。 ..

public class StringImproved
{
   private String word;

public StringImproved(String word)
{
  this.word = word; 
}
public String getWord()
{
  return(this.word); 
}
public void setWord(String word)
{
  this.word = word; 
}
public int size()
 {
  return(this.word.length()); 
 }
 public boolean backwards(String word)
{
   String backwards = "";
   for(int i = getWord().length() - 1; i >= 0; i--)
   {
     backwards += getWord().charAt(i);
    }
   if(backwards == word)
   {
   return true; 
   }
   else return false;
    }
}


public class test
{
   public static void main(String [] args)
 {
 StringImproved si=new StringImproved("lag");
 System.out.println(si.backwards("gal")); 

  }
  }

1 个答案:

答案 0 :(得分:2)

在这一行:

if(backwards == word)

您需要使用equals代替==

if(backwards.equals(word))

这是因为==只检查backwardsword变量是否指向同一个对象,而equals检查两个变量指向的对象是否有相同的内容。