if语句不适合我-Java

if语句不适合我-Java,java,logic,Java,Logic,我有两门课:顾客课和电影课。(问题条件在MovieSeat中的assignCustomerAt方法中) 所以something.toString()返回“?。?” 对吧? 一切都很好,但还有这个 public class MovieSeating{ public Customer[][] seating; public int rowNumber; public int colNumber; public MovieSeating(int rowNum, int columnNum){

我有两门课:顾客课和电影课。(问题条件在MovieSeat中的assignCustomerAt方法中)

所以
something.toString()返回
“?。?”

对吧?

一切都很好,但还有这个

public class MovieSeating{
public Customer[][] seating;
public int rowNumber;
public int colNumber;

public MovieSeating(int rowNum, int columnNum){
    rowNumber= rowNum;
    colNumber=columnNum;
    Customer thisGuy = new Customer();
    Customer[][] seaTing = new Customer[rowNum][columnNum];
    for(int i = 0; i<rowNum;i++){
        for(int j = 0; j<columnNum; j++){
            seaTing[i][j] = thisGuy;
        }
    }
    seating = seaTing;
}



public boolean assignCustomerAt(int row, int col, Customer tempCustomer){ 
    String a = seating[row][col].toString();
            if(a=="?.?."){     //THE CONDITION IN THIS IF STATEMENT IS THE PROBLEM
                 seating[row][col] = tempCustomer;
                 return true;
            }
            return false;
}
公共类电影{
公众客户[]座位;
公共整数行数;
公共整数;
公共电影播放(int rowNum,int columnNum){
rowNumber=rowNum;
colNumber=columnNum;
客户thisgoy=新客户();
客户[][]座位=新客户[rowNum][columnNum];

对于(int i=0;i字符串无法使用
=
进行比较,因为您正在比较
对象参考
,而不是
对象信息

你必须换成

a.equals("?.?."){

if(a==“?。?”){
应该是
if(“?。?”.equals(a)){

一个很长的问题,但是你应该使用
equals()
方法来比较对象,而不是
=
操作符。为什么发现类似字符串有问题的人也发现类似帖子有问题?;)谢谢!对不起,解决方案这么简单。你能解释一下为什么会这样吗?
a.equals("?.?."){