I call on the length of a given array a lot and I was wondering if it is better to keep calling it numerous times (50+ times currently, but it keeps growing) or is it better to just store the length in an integer and use that integer every time.
If I am unclear in what I am saying, consider the following:
I have a String array:
String[] str = new String[500]; //The length is actually dynamic, not static
Of course, I put some values into it, but I call on the length of the string all the time throughout my application:
int a = str.length;
int b = str.length;
int c = str.length;
int d = str.length;
int e = str.length;
and so on…so is it better to do this: (performance wise, don’t care about memory as much)
int length = str.length;
int a = length;
int b = length;
int c = length;
int d = length;
int e = length;
Thanks.
There is no difference. You don’t call a method when accessing the length of the array. You just read an internal field. Even if you called a method, the difference would be negligible with current JVMs.