Рассмотрим две ссылки типа Integer, которые вызывают статический фабричный метод valueOf, как показано ниже:-
Integer a = Integer.valueOf("10");
Integer b = Integer.valueOf("10");
Учитывая, что Integer неизменяем, можно ли сравнивать a и b с помощью == вместо использования метода equals. Я предполагаю, что метод valueOf гарантирует, что создан только один экземпляр Integer со значением 10 и ссылка на этот экземпляр возвращается для каждого Целого числа, созданного со значением 10.
В общем, можно ли сравнивать две ссылки неизменяемого класса, созданные с помощью вызова одного и того же статического фабричного метода, используя == вместо равных?
Править: В качестве примера использовался класс Integer.Я знаю, что Intgers до 127 вернет true, если их сравнить с помощью ==. Что мне нужно знать, так это то, что когда я создаю свой собственный неизменяемый класс, скажем, MyImmutable с помощью метода create(), который гарантирует, что не будут созданы дубликаты объектов MyImmutable, будет ли нормально, если я сравню 2 ссылки MyImmutable, созданные с помощью метода create, используя == вместо равных.