For simplicity I will use a basic example.
If I am using a record (struct) in my Java program like so:
public class Store{
class Product{
final int item1;
final int item2;
final int item3;
}
and I create a constructor for my class that will take values to represent the value of each item:
public Store(int[] elements) {
Product x = new Product();
x.item1 = elements[0];
x.item2 = elements[1];
x.item3 = elements[2];
}
}
The compiler gives me two errors:
"The blank final field item1 may not have been initialized
"The final field cannot be assigned"
I understand that we can not re-assign values to constants, but is there a way to assign values to uninitialized constants?
Mark M
13-Nov-2014The only way is to assign such values in the constructor, so you would need to add a constructor to your structure class:
And then use it in the rest of your code: