Если вы выберете Any
или AnyVal
, то любой примитив, который вы передадите, будет помещен в коробку, так что, вероятно, его нет.
AnyRef
действительно хороший выбор.
Если не происходит параметризация типа, то «примитивы» также являются хорошим выбором - например, Boolean
или Int
.
И есть также Null
, который является очень интересным выбором, потому что он вообще ничего не выделяет, и он буквальный, поэтому он должен быть быстрым. Не зная, что именно вы делаете с этим, я не могу сказать, является ли это правильным выбором.
Еще один интересный вариант - java.lang.Integer
(с использованием статического метода valueOf
), поскольку он гарантирует равенство ссылок для небольших значений (вам нужно проверить документы, чтобы увидеть точный диапазон), что означает, что не требуется никакого выделения .