ABHISHEK VERMA Ответов: 1

Как выполняется блок equals в следующем коде :


class Basic 
{  
	String s1="String1";
	String s2="String1";
	String s3=new String("String3");
	String s4=new String();
	String s5=new String();
	

	
    float function1()
    {                 
        System.out.println(s4==s5);                    
        System.out.println(s4.equals(s5));             
    	return 1;
    }
	
	
	public static void main(String args[])
	{		
       Basic b2= new Basic();      
       b2.function1();
       	}   
}


Что я уже пробовал:

Выход :
ложный
истинный

Мой вопрос заключается в том , что при выполнении сравнения методами equals сравнивается ли нулевое значение строкового объекта или происходит что-то еще, я не понимаю, почему он возвращает true ?

1 Ответов

Рейтинг:
1

Peter Leow

Проверить это: У меня есть следующий вопрос в java о концепции строк[^].
В двух словах,
1. "==" сравнивает идентичные объекты, но s4 и s5-это два разных строковых объекта, поэтому ложь.
2. "equal()" сравнивает значения двух объектов, и s4 и s5 оба равны нулю, следовательно, истинны.