Re: Stranger compiler error?
Knute Johnson wrote:
....
for (Enumeration<Integer> e=hash.keys(); e.hasMoreElements();)
String[] array = hash.get(e.nextElement()); // <---- error
....
You are confusing two very different entities, a statement and a
variable declaration.
The for MUST be followed by a statement.
You have a local variable declaration, which is not itself a statement
but can appear in a compound statement, such as a brace-enclosed block.
Incidentally, it seems a bit pointless because you assign to array and
then immediately leave its scope of declaration.
C:\com\knutejohnson\redrock\scores>javac test1.java
test1.java:10: '.class' expected
String[] array = hash.get(e.nextElement());
^
test1.java:10: not a statement
String[] array = hash.get(e.nextElement());
^
2 errors
The first error message shows what happened when the compiler tried to
interpret the first few tokens as a statement, not a declaration.
"String[]" is not very likely as the start of a statement, but it could
have been something like "String[].class.notifyAll();". Not finding
".class" killed that idea.
The second message points out that it is not a statement, which is the
real problem.
Patricia