В Java, когда оператор «==» используется для сравнения двух объектов, он проверяет, ссылаются ли объекты на одно и то же место в памяти. Другими словами, он проверяет, являются ли имена двух объектов в основном ссылками на одно и то же место в памяти.
Класс Java String фактически переопределяет реализацию equals () по умолчанию в классе Object и переопределяет этот метод, чтобы он проверял только значения строк, а не их местоположения в памяти. Это означает, что если вы вызываете метод equals () для сравнения двух объектов String, то, пока действительная последовательность символов равна, оба объекта считаются равными.
Оператор
==
проверяет, являются ли две строки точно одним и тем же объектом.Метод
blockquote>.equals()
проверяет, имеют ли две строки одно и то же значение.
Вы можете рассчитать факториал используя:
public long fact(int factNum) {
long fact = 1;
for (int iteration = 2; iteration <= factNum; iteration++) {
fact = fact * iteration;
}
return fact;
}
public long fact(int factNum) {
return LongStream.rangeClosed(1, factNum)
.reduce(1, (long fact, long iteration) -> fact * iteration);
}
public long fact(int factNum) {
if (factNum <= 2) {
return factNum;
}
return factNum * fact(factNum - 1);
}
package application;
import mathematics.MathHelper;
public class Application {
public static void main(String[] args) {
System.out.println(MathHelper.fact((9)));
}
}
<ч> package mathematics;
public class MathHelper {
public static void main(String[]args) {}
public static int fact(int factNum) {
if (factNum==1) {
return 1;
}
else {
return factNum * (fact(factNum - 1));
}
}
}