簡體   English   中英

轉換列表<Object>到 Java 中的 String[]

[英]Convert List<Object> to String[] in Java

我需要從List<Object>轉換為String[]

我做了:

List<Object> lst ...
String arr = lst.toString();

但我得到了這個字符串:

["...", "...", "..."]

只是一個字符串,但我需要 String[]

非常感謝。

您必須遍歷列表並填寫您的String[]

String[] array = new String[lst.size()];
int index = 0;
for (Object value : lst) {
  array[index] = (String) value;
  index++;
}

如果列表是String值,則列表就像調用lst.toArray(new String[0])一樣簡單;

您可以使用 toArray() 轉換為對象數組,然后使用此方法將對象數組轉換為字符串數組:

Object[] objectArray = lst.toArray();
String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);

Java 8 可以選擇使用以下流:

List<Object> lst = new ArrayList<>();
String[] strings = lst.stream().toArray(String[]::new);

如果我們非常確定List<Object>將包含String集合,那么可以試試這個。

List<Object> lst = new ArrayList<Object>();
lst.add("sample");
lst.add("simple");
String[] arr = lst.toArray(new String[] {});
System.out.println(Arrays.deepToString(arr));

這里有很多有用的概念:

List<Object> list = new ArrayList<Object>(Arrays.asList(new String[]{"Java","is","cool"}));
String[] a = new String[list.size()];
list.toArray(a);

打印字符串數組的提示:

System.out.println(Arrays.toString(a));

使用番石榴

List<Object> lst ...    
List<String> ls = Lists.transform(lst, Functions.toStringFunction());

Kotlin 中有一個簡單的方法

var lst: List<Object> = ...
    
listOFStrings: ArrayList<String> = (lst!!.map { it.name })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM