32

の形式の有効なArrayListオブジェクトがありjava.lang.Objectます。を に再度変換するObject必要がありArrayListます。私はこれを試しました:

オブジェクト obj2 = あるソースから。. ;
ArrayList al1 = new ArrayList();
al1 = (ArrayList) obj2;
System.out.println("List2 値: "+al1);

しかし、それは印刷していnullます。これどうやってするの?

4

10 に答える 10

1

2021年からの回答(Java 8+)

オブジェクトが有効な List オブジェクトであると仮定すると、以下を使用できます。Collections.singletonList(object)-- 指定されたオブジェクトのみを含む不変リストを返します。

List<Object> list = Collections.singletonList(object);

特定のデータ型でそれが必要な場合は、次を使用しますStream.of(object)

List<String> list = Stream.of(object).map(Object::toString).collect(Collectors.toList())

同様に、マップ内のメソッドを変更して、必要なデータ型に変換できます。

于 2021-10-05T17:14:10.560 に答える
1

むしろオブジェクト配列にキャストしてください。

Object obj2 = from some source . . ;
Object[] objects=(Object[])obj2;
于 2014-07-09T09:56:25.227 に答える
0

変換は失敗します ( java.lang.ClassCastException: java.lang.String を java.util.ArrayList にキャストできません)。これは、 ArrayListではないオブジェクトがいくつかあるためです。さまざまなオブジェクトのタイプを確認します。

于 2015-07-22T10:15:45.327 に答える