问题 一 String anotherString = null,给用到的串赋予初值null,反正比直接定义算是好的习惯。问题2。 和问题3是一起的么
就是将字符串编码从 gbk 变成ISO8859_1啊 ,UnsupportedEncodingException 的意思看字面也能明白啊因为有些时候需要给某些接口传递ISO8859_1编码的字符串比如说用jdbc连接数据库时传递的数据

解决方案 »

  1.   

    对于问题一,String是一个对象,不是一个数据类型,
    String anotherString = null,是在初始化的时候让这个对象为空,不占内存
      

  2.   

    String anotherString = null; 这个是什么意思呢?
    问题二,catch (UnsupportedEncodingException ex) {}是什么意思呢
    问题三,aString.getBytes("GBK"), "ISO8859_1");  这个是什么意思呢?第一个,anotherString置为空,不指向任何对象,也就不分配内存;
    第三个,实际上是在转码,将原来是是GBK编码的字符串,转成是ISO8859_1编码的字符串;
    第二个,是捕捉异常,因为转码的时候,有可能JAVA不支持指定的编码方式,如果不支持,就会抛异常,所以要捕捉。
      

  3.   

    楼上的错了 不是初始化的时候让对象为空 而是根本没有建立对象 对象是通过new关键字建立的 anotherString本身是一个引用而不是对象 这句话的意思是让引用指向空 也就是不指向任何对象 因为局部变量(属于方法的变量)不是自动赋初值的 所以要用=null来初始化这个变量 如果是域变量(可以有private /public/package/protected等定义符的)不用加=null 因为JVM在new对象的时候会自动把域变量初始化为0。
    问题二:catch(UnsupportedEncodingException ex) 是捕获一个异常 这个异常应该是叫做“不支持的字符编码集”
    问题三: 自己查API吧 这个都不会的话....
      

  4.   

    同意楼上的,第一个问题中anotherString只是一个引用,不存在置空的概念,只能说是这个指镇并不指向一个实在的对象。