如何在字符串中获取字符串数组的值? [关闭]

Posted

技术标签:

【中文标题】如何在字符串中获取字符串数组的值? [关闭]【英文标题】:how get values of StringArray in String? [closed] 【发布时间】:2021-10-27 05:47:41 【问题描述】:

我有一个数组列表并将参数放在 StringArray 中,然后我将 StringArray 值拆分为一个字符串,但我的代码太脏了!谁能建议我如何才能做得更好?

    String name = null, color = null, num = null;

    String[] nameArray = new String[cartArrayList.size()];
    String[] colorArray = new String[cartArrayList.size()];
    String[] numArray = new String[cartArrayList.size()];

    for (int i = 0; i < cartArrayList.size(); i++) 
        nameArray[i] = cartArrayList.get(i).getName();
        colorArray[i] = cartArrayList.get(i).getColor();
        numArray[i] = cartArrayList.get(i).getNumber();
    

    for (String NAME : nameArray) 
        Toast.makeText(getContext(), NAME, Toast.LENGTH_SHORT).show();
    
    for (String COLOR : colorArray) 
        Toast.makeText(getContext(), COLOR, Toast.LENGTH_SHORT).show();
    
    for (String NUM : numArray) 
        Toast.makeText(getContext(), NUM, Toast.LENGTH_SHORT).show();
    

【问题讨论】:

你的意思是:How to convert an ArrayList to three String arrays? 您的购物车对象是否只有这些固定属性或更多? @blackapps 我已经有三个字符串数组,但我使用三个for 来显示它们的拆分,我想在for 中显示它们... 我感觉你可以直接通过遍历list来使用cartArrayList.get(i).getName()。 @ParagGoel 不,我想将它们连续存储在我的数据库中 【参考方案1】:
String name = null, color = null, num = null;



for (Cart cart : cartArrayList) 
    Toast.makeText(getContext(), cart.getName(), Toast.LENGTH_SHORT).show();
    Toast.makeText(getContext(), cart.getNumber(), Toast.LENGTH_SHORT).show();
    Toast.makeText(getContext(), cart.getColor(), Toast.LENGTH_SHORT).show();

【讨论】:

为什么要三个敬酒? for (Cart cart : cartArrayList) Toast.makeText(getContext(), cart.getName() + "\n" + cart.getNumber() + "\n" + cart.getColor(), Toast.LENGTH_LONG).show();【参考方案2】:

在 Java 8 中,您可以使用 Stream API,尤其是 map 函数:

String[] nameArray = cartArrayList.stream().map(cart -> cart.getName()).toArray(String[]::new);
 String[] colorArray = cartArrayList.stream().map(cart -> cart. getColor()).toArray(String[]::new);
 String[] numArray = cartArrayList.stream().map(cart -> cart. getNumber()).toArray(String[]::new);

【讨论】:

没错,我把答案编辑清楚了

以上是关于如何在字符串中获取字符串数组的值? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从给定字符串中获取数组中所有源url的值

如何从java中的mysql表中检索数组中的值? [关闭]

如何分离从表行中获取的值并将其存储在雪花中的数组中

在SQL中如何从数组中获取值再进行查询

如何获取数组中json子项的值

如何从 React 中的数组中获取值? [关闭]