如何在字符串中获取字符串数组的值? [关闭]
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);
【讨论】:
没错,我把答案编辑清楚了以上是关于如何在字符串中获取字符串数组的值? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章