Ответ к вопросу new Integer(300) или Integer.valueOf(300): va | Java Interview Tasks
Ответ к вопросу new Integer(300) или Integer.valueOf(300):
valueOf в общем случае использовать предпочтительнее Вариант new Integer(...) с 9-ой версии java помечен как @Deprecated(since="9", forRemoval = true) и будет удален в будущих версиях, то есть вам будет сложнее мигрировать на новые версии java с таким кодом.
Код valueOf: @IntrinsicCandidate public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); } Используется IntegerCache.cache, что может дать прирост производительности Так же обратите внимание на аннотацию @IntrinsicCandidate, интринсик даст прирост производительности Про интринсики можно почитать подробнее тут - https://www.baeldung.com/jvm-intrinsics или тут - https://habr.com/ru/post/352086/