они подталкивают вас к использованию valueOf()
вместо new Integer()
, поэтому метод valueOf()
сделает это за вас и кеширует значение на случай, если вы захотите получить то же число снова в будущем.В этом случае метод не установит новое Integer, но даст вам кэшированное, что сделает «создание» нового Integer намного более быстрым и дружественным к памяти процессом ..
Таким образом, вы можете вызвать себямного проблем, если вы неопытный Java-программист, поскольку вы придете к выводу, что Integer.valueOf(342)==Integer.valueOf(342)
, потому что вы можете (или не можете) иметь один и тот же указатель для двух целых чисел, и, вероятно, вы будете практиковать его таким образом, скажем, вы узналиC #, так что время от времени это будет показывать вам ошибки, и вы не будете знать, как и откуда они появились ...