Question

How to rewrite the following 1.5+ constructs to 1.4?

final class FooList<T> extends AbstractList<T> implements ...
{
    private T[] tab;
    ...
}

public ListIterator<T> listIterator() {...}

public int bar(int x, Collection<? extends T> c) {...}

for (Foo f : s.baz(x)) {...}

for (Map.Entry<Object, Object> e : p.entrySet()) {...}  
Was it helpful?

Solution

final class FooList extends AbstractList implements ...
{
    private Object[] tab;
    ...
}

public ListIterator listIterator() {...}

public int bar(int x, Collection c) {...}

for (Iterator it = s.baz(x).iterator(); it.hasNext();) {
  final Foo f = (Foo) it.next();
  ...
}

for (Iterator it = p.entrySet().iterator(); it.hasNext();) {
  final Map.Entry e = (Map.Entry) it.next();
  ...
}

Plus all the necessary downcasts, of course.

OTHER TIPS

There are few thing not supported in Java 1.4 in your code

  1. Remove form your code.
  2. Use Object instead of your T reference.
  3. Change for loop to old index based.

You could try Retroweaver, it allows to use some features of Java 5 in Java 1.4.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top