这段代码实在看不懂了,能不能举几个入门级别的例子,让我看一下?

问题一

stringBuilder.append

这种函数加完字符串,我应该怎么获取到,然后使用system.out.print打印

问题二

new MessageFormat("(#'{'list[{0}].id},#'{'list[{0}].taskId},"

这是什么意思

package com.measure.dao.sqlProvider;

import java.text.MessageFormat;
import java.util.List;
import java.util.Map;

import com.measure.vo.MessageContent;

public class MessageContentSqlProvider {
    public String inserList(Map<String, List<MessageContent>> map) {
        List<MessageContent> list = map.get("list");
        StringBuilder stringBuilder = new StringBuilder(256);
        stringBuilder.append("insert into msg_content ("
                + "id,task_id,task_name,alert_time,msg_content,led,timestamp) values");
        MessageFormat messageFormat = new MessageFormat("(#'{'list[{0}].id},#'{'list[{0}].taskId},"
                + "#'{'list[{0}].taskName},#'{'list[{0}].alertTime},#'{'list[{0}].msgContent},"
                + "#'{'list[{0}].led},#'{'list[{0}].timestamp})");
        for (int i = 0; i < list.size(); i++) {
            stringBuilder.append(messageFormat.format(new Integer[]{i}));
            stringBuilder.append(",");
        }
        stringBuilder.setLength(stringBuilder.length() - 1);
        return stringBuilder.toString();
    }

}
阅读 1.5k
1 个回答

问题一
stringBuilder.append后,System.out.println(stringBuilder.toString());
问题二
new MessageFormat("(#'{'list[{0}].id},#'{'list[{0}].taskId},"...
这是在拼接组装sql语句。
{0} 是占位符,messageFormat.format(Obeject obj)方法,会把数组的第一个元素替换{0}。

  StringBuilder stringBuilder = new StringBuilder(256);
  MessageFormat messageFormat = new MessageFormat("hello {0}{1}");
  stringBuilder.append(messageFormat.format(new String[]{"world","!"}));
  System.out.println(stringBuilder.toString());
  
  输出: hello world!
推荐问题