I recently installed Java 10 and upgraded my Maven project to Java 10 then. I have a block of code where I'm trying to loop over a list of objects(in this case TableModelListeners from Swing's JTable system). This code is reported as an error though:
for(TableModelListener objListener : getTableModelListeners())
objListener...
It's claiming in the 2nd line that objListener isn't declared or instantiated. It works when I convert it to a regular for loop like such:
for(int iLength = getTableModelListeners().size(), iLoop = 0; iLoop < iLength; iLoop++)
{
TableModelListener objListener = getTableModelListeners().get(iLOop);
//...
}
But I don't want that as it's more code that is somewhat unnecesary. What am I doing wrong here if Java 10 somehow changed the format of the for each loop?
Edit: As requested - Here is the code to getTableListeners - It's just lazy creation:
protected List<TableModelListener> getTableModelListeners()
{
if(mLstTableModelListeners == null)
mLstTableModelListeners = new ArrayList<TableModelListener>();
return(mLstTableModelListeners);
}