String数组与List集合的相互转换

今天有一个奇葩的需求,要求接收前端一个复选框,但是要根据选项中的选中状态分成多个字段来存储,比如早、中、晚餐默认全部勾选、不吃的一餐手动取消勾选,后端记录三餐情况,为了方便后续的报表等统计要用三个字段来分别存储...听着就有点恶心,还是要做啊:

一、将前端传入的string数组转为list集合

String[] threeMeals = {"breakfast", "lunch", "dinner"};
List threeMealsList = Arrays.asList(threeMeals);

数组自然是前端传入的,不方便贴原代码,就随便写个例子供参考;然后用contains判断集合是否包含,逐个给对象赋值就完事了,赋值用if判断可以,用三目运算也行。

二、将保存的三个字段先添加进集合,再转为string数组返回前端,用于展示和编辑

List threeMealsList = new ArrayList<>();
String[] threeMeals = new String[3];

threeMealsList.add("breakfast");
threeMealsList.add("lunch");
threeMealsList.add("dinner");

if (CollectionUtils.isNotEmpty(threeMealsList)) {
    Object[] objects = threeMealsList.toArray();
    threeMeals = Arrays.copyOf(objects, objects.length, String[].class);
}

 阉割了一下的代码,作为思路参考,然后把数组给对象赋值,返回就完事了,希望多多支持!

你可能感兴趣的:(前后端交互,java)