【问题标题】: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 不,我想将它们连续存储在我的数据库中

标签: java android arrays


【解决方案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);

【讨论】:

  • 没错,我把答案编辑清楚了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多