0

次の 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()) {...}  
4

3 に答える 3

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

もちろん、必要なすべてのダウンキャスト。

于 2012-05-01T09:02:03.617 に答える
1

あなたのコードには Java 1.4 でサポートされていないものがいくつかあります

  1. コードから削除します。
  2. T 参照の代わりに Object を使用します。
  3. for ループを古い​​インデックス ベースに変更します。
于 2012-05-01T08:55:12.730 に答える
0

Retroweaverを試すことができます。これにより、Java1.4でJava5のいくつかの機能を使用できるようになります。

于 2012-05-01T08:58:42.727 に答える