private void doShareEmp(pageBean UTIL, HttpServletRequest request, String page)
throws Exception
{
doAction(request, UTIL, page);
String action = pageBean.getSafeRequestOrNullParameter(request, "DO");
long empRecNum = UTIL.getNumValue("EMPLOYEE", "REC_NUM");
if (action != null)
{
if (action.startsWith("US:"))
unshareEmployee(request, UTIL, action.substring(3));
else if (action.equals("SHARE") && empRecNum != 0)
shareEmployee(request, UTIL, empRecNum);
}
ListBean list = UTIL.getListBean(request, "EMPSHARELIST", true);
if (empRecNum != 0)
{
StringBuffer sql = new StringBuffer();
sql.append("SELECT FLDREC_NUM, FLDCOMPANY, FLDLOCATION, FLDDEPT FROM @SCHEMAEMPLVIEW WHERE FLDEMPLOYEE = ? AND FLDTABLE='SHARED' ORDER BY FLDCOMPANY, FLDLOCATION, FLDDEPT");
ArrayList qryParms = new ArrayList();
qryParms.add(new Long(empRecNum));
list.setQuery(UTIL, sql, qryParms);
}
else
list.init();
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我将查询附加到StringBuffer.
哪一个会更好?
Aar*_*ver 12
StringBuilderStringBuffer从1.5开始就是单线程环境的替代品,所以请继续使用StringBuilder.如果您事后不打算对数据进行任何其他操作,请继续String.
StringBuffer仅在线程环境中需要并且如果您需要同步.在这似乎并非如此.
此外,你的字符串似乎是一个人定义的,简单String就足够了.StringBuilder当您通过附加内容修改"字符串"时,A 很有趣.如果您已拥有所有内容,则无需使用StringBuilder.
但是你已经可以在他们的javadoc上阅读所有这些信息了:
所述
StringBuilder类通常应优先使用这一个,因为它支持所有相同的操作,但它是快的,因为它不执行同步.