Кстати я походу ваще отупел, как сделать тип со специальным значением, типа у меня есть размер он может быть автоматическим либо конечным числом, делать автоматическое специальным числом -1 это туповато выглядит, как умные люди такое решают
Или спец поле в классе типа boolean isAutomatic, сеттеры и геттеры для него. а в value хранить значение. Но это все просто удобная обертка вместо того чтобы спрашивать if(value==-1), расширяющее область value