播放 - 为什么使用逗号将字符串从字符串拆分为列表不能正常工作?

Play- Why split a string using comma from string to list is not working properly?

我有一个只有一个值的字符串类型列表。在该字段中,值是这样的:

list1[0]:yes,no,never,drop out

有一些逗号。我必须用逗号将它们分开并将它们添加到不同的列表中,例如:

list2[0] : yes

list2[1] : no

list2[3] : never

list2[4] : drop out

为此,首先,我将 list1 转换为字符串,然后用逗号分隔它们并将它们保存在第二个列表中。

但是转换后的字符串是:

字符串:[是,否,从不,退出]

第二个列表终于是:

list2[0] : [yes

list2 [1] : no

list2[3] : never

list2[4] : drop out]

这是我的控制器代码:

@ExternalRestrictions("Edit Poll")
    public static void editPoll(Long id){

        PollDefination poll = PollDefination.findById(id);
        flash("poll", "" + poll.id);
        List<String> pollQuestionOption = PollQuestionOption.find("SELECT options from PollQuestionOption WHERE poll_id = ? ", poll.id).fetch();

        for (int i = 0; i < pollQuestionOption.size(); i++) {
            Logger.info("1st list : " + pollQuestionOption.get(i).toString());
        }

        String option = pollQuestionOption.toString();

        Logger.info("string : " + option);

        List<String> optionitem = Arrays.asList(option.split(","));

        Logger.info("2nd list : " + optionitem);
        List<String> questionType = new ArrayList<String>();
        questionType.add(0,"Single Select");
        questionType.add(1,"Multiple Select");
        render(questionType,poll,pollQuestionOption,optionitem);
    }

这是我的 html:

 #{list items: optionitem, as:'optionitem'}

                                  <div class="form-group">
                                  <div class="addField">
                                    <label for="inputEmail3" class="col-sm-1 control-label">1</label>
                                    <div class="col-md-5">
                                      <div class="input-group">

                                        <input name="optionitem" type="text" class="form-control" id="optionitem" value="${optionitem}" placeholder="Option">

                                        <span class="input-group-btn">
                                             <button href="#" class="removeOption">
                                              <i class="fa fa-times fa-2x text-danger" style="font-size: 18px" aria-hidden="true"></i>
                                             </button>
                                        </span>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                                #{/list}  

现在值显示如下:

如何避免这种“[”和“]”?

改变

String option = pollQuestionOption.toString();

String option = pollQuestionOption.get(0).toString();

您的第一个列表是

List<String>_list0 = "yes,no,never,drop out"

这样做:

List<String> _list1 = Arrays.asList(_list0.get(0).split(","));
System.out.println(_list1.toString());
_list1.forEach(System.out::println);

并且您的新列表中将没有括号。 System.out 表明