上个月拿自己的一份大学时候的代码报名javaeye的招聘,但是被robbin指出了string直接相加的毛病。当然现在我一直都不是用直接用+号了,大学的时候没有考虑这么多问题。最近在维护一个项目,修改里面的功能和代码,发现问题多多,千奇百怪。
以后每天写出点供自己警惕,同时有没发现其“精髓”的地方大家讨论。
其中就象我以前一样 的错误 sql 语句用 + 号 大行其道
"select xmbh from wcrxx where xmbh='"
+ request.getParameter("cgbh") + "' and lx='2'";
有些代码知道自己应该用StringBuffer,但是看看下面,真是不知是怎么想的
if (strBmbh != null && !("".equals(strBmbh)))
{
strQueryCondition = tempQuery.append(" and ").append(
" lwzz.bmbh like '").append(strBmbh).append(
"%' ").toString();
}
if (strCglbm != null && !("".equals(strCglbm)))
{
strQueryCondition = tempQuery.append(" and ").append(
" lwzz.cglbm like '%").append(strCglbm)
.append("%' ").toString();
}
if (strXklym != null && !("".equals(strXklym)))
{
strQueryCondition = tempQuery.append(" and ").append(
" lwzz.xklym like '%").append(strXklym)
.append("%' ").toString();
}
if (strXkml != null && !("".equals(strXkml)))
{
strQueryCondition = tempQuery.append(" and ").append(
" lwzz.xkml like '%").append(strXkml)
.append("%' ").toString();
}
真可谓每if 必 toString(), 真不知其目的,难道是为了用了StringBuffer我也要创造对象?
呵呵 今天发牢骚先到这,毕竟以后还长,慢慢贴!
分享到:
相关推荐
- **字符串操作**:如何利用各种内置命令进行字符串拼接、截取等操作。 ##### 2. 控制结构 - **条件语句**:`if...then...else`、`case`等用于根据不同条件执行不同的代码块。 - **循环结构**:`for`、`while`循环...
使用字符串拼接和`eval`函数来动态构建和计算表达式,从而找到符合条件的解。这种方式虽然直观,但需要注意`eval`函数的安全性和性能问题,特别是在处理用户输入时。 #### 3. 条件判断与返回结果 在遍历过程中,...
1. **字符串拼接**:将文本拆分成单个字符,然后逐个移动字符的位置,直到回到起点,再重新排列。这种方法简单直观,但可能会造成视觉上的不连贯。 2. **滚动BufferedImage**:将文本绘制到`BufferedImage`上,然后...
2. **模板字符串**:ES6中的模板字符串允许开发者使用反引号(`)来创建字符串,并在其中嵌入变量,提供了更方便的字符串拼接方法。 3. **Promise**:Promise是处理异步操作的重要工具,它解决了回调地狱的问题,...
查询名为“Bill Clinton”的员工时,使用字符串拼接(`first_name || '' || last_name`)而不是单独使用`first_name`和`last_name`作为条件,可能导致优化器无法使用基于`last_name`的索引。 3. **带通配符(%)的LIKE...
5. **字符串操作**:生成和显示问候语句可能涉及到字符串拼接和格式化。 6. **异常处理**:为了保证程序的健壮性,开发者可能使用了异常处理来捕获并处理可能出现的错误情况。 7. **国际化**:如果应用支持多语言...
传统的方法可能涉及到大量的字符串拼接,这在代码量和运行效率上都不甚理想。而ArduinoStreaming库引入了流的概念,就像C++标准库中的`std::stringstream`,使得动态构建字符串变得轻松高效。 使用这个库,你可以...
3. **字符串和数组操作**:学习如何在PHP中处理字符串,包括拼接、查找子串、替换和格式化。同时,深入理解数组的创建、遍历、排序和操作,以及多维数组的应用。 4. **文件和目录操作**:了解如何读取、写入、创建...
箭头函数简化了回调函数的编写,模板字符串使得字符串拼接更加便捷,而类可以用于构建更易于理解和维护的组件结构。 VanillaSlider的亮点之一是其**轻量级**设计。由于主要依赖于CSS3和现代JavaScript,它的脚本...
文字的滚动效果则更复杂一些,通常需要用到字符串截取和拼接的方法。每次OnTimer事件触发时,我们可以将Label的文字向右移动一定的像素,同时将文字的左侧部分截取出来并添加到右侧,以保持文字的完整。这样,就形成...