java list 转成String数组

List list = shoppingcartDao.selList(userId);查询出来的list,
把list的CommodityId取出来放入数组中,求大神》》》》》(是在select中的)

假想有个Bean类叫Commodity

public class Commodity {

    private String CommodityId;

    public String getCommodityId() {
        return CommodityId;
    }

    public void setCommodityId(String commodityId) {
        CommodityId = commodityId;
    }
} 

如果你的List里面存储的是Commodity对象

public class Main {

    public static void main(String[] args) {

        // 模拟从数据库中取数据 Begin
        List<Commodity> list = new ArrayList<Commodity>();

        Commodity c1 = new Commodity();
        c1.setCommodityId("c1");
        list.add(c1);

        Commodity c2 = new Commodity();
        c2.setCommodityId("c2");
        list.add(c2);

        Commodity c3 = new Commodity();
        c3.setCommodityId("c3");
        list.add(c3);
        // 模拟从数据库中取数据 End

        if (list != null && list.size() > 0) {
            String[] arr = new String[list.size()];

            for (int i = 0; i < arr.length; i++) {
                arr[i] = list.get(i).getCommodityId();
            }

            for (int i = 0; i < arr.length; i++) {
                System.out.println(arr[i]);
            }
        }
    }
}

输出结果

c1
c2
c3

String[] arr = new String[list.size()];
for(int i = 0; i < arr.length; i++) {
arr[i] = list.get(0).getCommodityId();
}

shoppingcartDao.selList这个方法里的sql是直接select id的吗?可以先把list转成List再用list.toArray()方法得到数组

 List<String>

由于不知道你查出来的对象名字,我就随便取名ShoppingCart吧,里面有个Sting的属性commodityId,那转化代码如下:

      String[] commodityIdArr = list.stream().map(ShoppingCart::getCommodityId).toArray(String[]::new);

u012322256和 engchina的都行, zx510416有点不理解