2012-05-01 3 views
0

Как переписать следующие 1.5 + конструкции в 1.4?Backporting Java 1.5+ 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()) {...} 

ответ

1
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(); 
    ... 
} 

Плюс все необходимые понижения, конечно.

1

Есть несколько вещи не поддерживается в Java 1.4 в коде

  1. Удалить форму коды.
  2. Используйте объект вместо вашей ссылки T.
  3. Изменение для цикла на старый индекс.
+0

'final class FooList extends AbstractList ... {private Object [] tab;}'? – user1367401

+0

3. - индексация не эквивалентна для каждого. Нужно использовать итератор. –

0

Вы можете попробовать Retroweaver, это позволяет использовать некоторые функции Java 5 в Java 1.4.

Смежные вопросы