I need to create a data transfer object, which I will use for storing the records retrieved from database. In this data transfer object, I need to declare a numeric field. For that which one is better - int or Integer
If I am defining the field as Integer, will there be any performance impact because of 'Integer' type if I am going to retrieve more than 2000 records from DB!?
Thanks in advance.
Use int when possible, and use Integer when needed. Since int is a primitive, it will be faster.
In Java, int is a primitive data type while Integer is a Wrapper class. int, being a primitive data type has got less flexibility. We can only store the binary value of an integer in it. Since Integer is a wrapper class for int data type, it gives us more flexibility in storing, converting and manipulating an int data.
What Does Integer (INT) Mean? An integer, in the context of computer programming, is a data type used to represent real numbers that do not have fractional values.
You can use long, which will give you twice as many bits. If that's not big enough, you can move to BigInteger, which will give you as many as you want, however you won't be able to user operators (like div and mod) directly.
Integer
is a better option, as it can handle null
; for int
, null
would become 0
, silently, if resultSet.getInt(..)
is used. Otherwise, it might throw some exception, something like, "Unable to set null
to a primitive property".
Performance is of little concern here.
int
, you will end-up adding extra handling code; and that wouldn't benefit you much. Your code will not be clean and straight-forward, lot of boiler-plate code, and you wouldn't even gain performance.0
, where null
was intended. Imagine the case where user submitted a form, and doesn't supply any value for int
. You will end up getting 0
by default. It makes sense, or does that really, when that field is not null
in the database.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With