2012-05-01 11 views
0

次の1.5+構造を1.4に書き換えるにはどうすればよいですか?Java 1.5+ 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

はあなたのコード

  1. 削除してコードを形成していないのJava 1.4でサポートされているいくつかのものがあります。
  2. T参照の代わりにオブジェクトを使用してください。
  3. forループを古い​​インデックスに基づいて変更します。
+0

'finalクラスFooListはAbstractListを拡張しています... {private Object [] tab;}'? – user1367401

+0

3.索引付けはfor-eachと等価ではありません。イテレータを使用する必要があります。 –

0

Retroweaverを試すと、Java 1.4のJava 5のいくつかの機能を使用できます。

関連する問題