网上淘宝

来源:互联网 发布:美国三季度经济数据 编辑:程序博客网 时间:2024/04/28 03:33

        1、 取出某个字符串前后的空格。

  如现在一个进销存管理系统中有一个产品管理的窗口。在这个窗口中有产品编号、序列号等信息。为了这些信息的准确,用户要求在数据保存的时候,产品编号、序列号等字段前后不能够有空格。因为后面的产品图片地址等信息都是根据产品编号来自动编制的。如果产品编号后面有空格,则产品图片的URL地址就会出现问题(产品图片没有放置在数据库中,而是放在网络的一个文件服务器中,通过URL地址来打开文件服务器上对应的图片)。如果这个URL地址出现问题的话,显然图片不能够正常打开。

  但是在实际工作中,有不少用户在输入这个产品编号的时候,会不经意的在编号前面或者后面加入几个空格,从而导致URL地址跟实际图片的地址不一样。还有一些用户,就是可能直接从Excle等表格中复制编号,而这些工具中有与格式控制或者其他的一些原因,往往包含一些隐性的空格。如果直接从这些工具中复制到应用软件中,那么后面就会自动插入空格。为了最大程度的编码这种错误,程序开发人员可能希望在将字符串中的内容保存到数据库中的时候,能够先对其进行过滤。如果发现字符串前后有空格的话,则先去除空格,然后再将其保存到数据库中。如此的话,就可以保证产品编号前后没有空格字符。虽然这也可以在数据库中完成,但是处理一起比较麻烦,笔者还是建议在应用程序层面将这个问题解决了。

  在Java语言平台中,恰好有现成的处理方式。Java语言包含很多的字符串处理函数或者方法,trim()方法就是其中一种。这个方法可以忽略输入字符串的前导空格和尾部空格,并最终返回一个去除了前后空格的字符串的副本。简单的说,这个方法就是判断某个字符串是否有前导空格和尾部空格。如果有的话,则就把他们去除掉,然后返回没有包含尾部空格和头部空格的字符串数据。在使用这个方法来过滤空格字符,需要注意三个问题。一是这个方法只会取出前导空格和尾部空额,而不会去除中间的空格。二是通常情况下,tab键也会形成一连串的空格字符,这些空格trim()方法也会过滤掉。三是在使用这个方法的时候,一定要有用户明示的说明。也就是说,某些情况下用户可能需要存在这些空格。为了提高应用程序的灵活性,笔者的意见是在窗口或者单据的设计上,设置一个动态的参数。由用户来设置是否需要在保存时去除空格。如此的话,可以提高应用程序的灵活性。当用户需要不同的需求时,不需要通过二次开发来完成。

  2、 
         想成为技术型高手,就多写代码.写代码的过程中看书.
         想成为研究型高手,就多看书,看书的过程中写代码.

————————————————————JAVA开发代码的小技巧——————————————————

3、 我很看不惯下面这种 SB 写法:
 if (result.size() > 0) return true;
           return false;
  我就写:
   return result.size() > 0;

4、 最简单的 "const".eqauls(variable)代替 variable.eqauls("const")
避免null point exception

5、 public static Integer valueOf(int i)返回一个表示指定的 int 值的 Integer 实例。如果不需要新的 Integer 实例,则通常应优先使用该方法,而不是构造方法 Integer(int),因为该方法有可能通过缓存经常请求的值而显著提高空间和时间性能。

   ——————静态方法Integer.ValueOf()(单参数)的重载方法有很多种,
这样,当其他类型的参数传入的时候,也能得到相应的Integer对象。
而Integer的构造器,她支持的(单参数)重载方法比较少,所以,她的适用范围就会小了。

  ——————^_^  ^_^  我虽然不是很赞同上述的观点, 不过其也不失为一个思考方向。

      调用整形包装类的静态方法当然 比 创建整形对性更好,更健壮。为什么呢?
个人理解是这样的:创建对象浪费内存,而且Java已经提供了很好的方法,干嘛不使呢

6、

        a、 在连接字符串的时候尽量避免使用String = "str"+"str2"; 
         b、 而使用StringBuffer str = new StringBuffer("str");str.append("str2")代替 
         c、 多使用PreparedStatement代替Statement这样可以避免在拼接字符串的时候出现
        d、  "select * from tablename where col = '"+col+"'"单引号过多的情况 
        e、在拚接查询语句的时候加上"where 1=1 "道理我就不说了
        f、多使用MessageFormat类

        g、方法的命名要能够表达出方法的功能

        ————Connection conn = null
try{}catch(Exception e){} finally{if(conn!=null){conn.colse();conn==null}}