Поскольку Java не поддерживает перегрузку оператора, == ведет себя одинаково для каждого объекта, но equals () - это метод, который может быть переопределен в Java, а логика для сравнения объектов может быть изменена на основе бизнес-правил.
Основное различие между == и equals в Java заключается в том, что «==» используется для сравнения примитивов, тогда как метод equals () рекомендуется проверять равенство объектов.
Сравнение строк является распространенным сценарием использования оба метода == и equals. Поскольку класс java.lang.String переопределяет метод equals, он возвращает true, если два объекта String содержат одинаковое содержимое, но == будет возвращать true, только если две ссылки указывают на один и тот же объект.
Ниже приведен пример сравнения две строки в Java для равенства с использованием метода == и equals (), которые устранят некоторые сомнения:
public class TEstT{
public static void main(String[] args) {
String text1 = new String("apple");
String text2 = new String("apple");
//since two strings are different object result should be false
boolean result = text1 == text2;
System.out.println("Comparing two strings with == operator: " + result);
//since strings contains same content , equals() should return true
result = text1.equals(text2);
System.out.println("Comparing two Strings with same content using equals method: " + result);
text2 = text1;
//since both text2 and text1d reference variable are pointing to same object
//"==" should return true
result = (text1 == text2);
System.out.println("Comparing two reference pointing to same String with == operator: " + result);
}
}
Вы должны установить excludeFromRecents
на true
для своего IncomingCallActivity
в файле манифеста:
<activity
android:name=".IncomingCallActivity"
android:excludeFromRecents="true">
</activity>
или вы можете установить намерение открытия флага IncomingCallActivity
:
Intent incomingCallActivityIntent=new Intent(this,IncomingCallActivity.calss);
incomingCallActivityIntent.addFlag(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(incomingCallActivityIntent);
и после вызова завершен вызов finish()
метода