1、字符串比较 ==比较字符串是否引用同一地址,如果比较的字符串是同一个对象,则可以用==,如果不是同一对象,只是比较内容,则不可以用==。Char的比较用==,不用equals,string的比较用equals,不用==。
定义的字符串是对象,用==比较是比较的字符串的内存地址是否相同,也就是说看是否是同一个对象,使用new创建的是新的对象,即使内容一样,内存地址也会不同。
2、字符串格式化 字符串格式化indexOf()的用法中查找数的方法,怎么查的,格式器的构造函数的用法是什么,会不会影响indexOf()的查数,如DecimalFormat(“#0.###”)。判断数字中存在小数点之后,查找的小数点的索引位置和小数位的值是否是0有关?
答:字符串格式化indexOf()查数方法由左往右开始查,格式器的用法是格式化字符串时指定想要得到的字符串的格式,不会影响indexOf()的查数,小数点的索引位置和是否是0无关,不过需注意在默认格式下数字格式化字符串之后的每三位由“,”隔开,并且“,”算在字符串里面。可规定字符串格式为##.###。
方法若有返回值则每个(if)分支后都要有一个return,虽然if后不是必须要有的,主支一定要有return,返回值并不等于输出值。方法遇到返回值说明本次调用结束。
如果变量不止在if分支里面使用的话,初始化要放在if前面。
数字转换大写时,整数部分需进行字符串反转,小数部分不需要,只需改变追加单位和数字的顺序即可。
输入数字有误导致与接收类型不匹配,抛出异常,在不知道确切异常的情况下并且保证不混淆的情况下直接catch Exception即可。
3、获取货币格式对象,实现格式化的代码:NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.CHINA);
4、StringBuffer(字符串缓冲)是字符串变量,有append()方法和insert()方法,String是字符串常量,没有append()和insert()方法,两种形式均可输出。不过由于大多数类中关于显示的方法的参数多为String类的对象,所以经常要将StringBuffer类的对象转换为String类的对象,再将它的值显示出来。
5、当前日期值字符串格式化:Stringformat处前面都要加上%t,b是月份英文缩写,B是月份英文全写,a,A是星期值,Y是4位年份值,y是2位年份值,m是月份值,d是日期值,R是小时分钟值,T是clock全值,D是月日时值,F是年月日值,c是当前时间全值。
6、Apache提供的lang包有NumberUtils类,提供isNumber()方法,判断字符串是否是数字,不过在eclipse中需要专门导入此包。
7、ASCII编码查看器 字符数组转换为字符串输出,不可用toString()方法,要用new String(字符数组)。Scanner扫描器定义一个对象时可连续使用,但不可在其它分支语句中继续使用,错误是未初始化分支里的scan,要使用先创建一个新的scan扫描器对象。字符数组使用toString()方法得到的是this method returns a stringequal to the value of:
getClass().getName() + '@' +Integer.toHexString(hashCode())
toString()方法在很多包里的类中都有,但不同类中的toString()方法功能不同,不可一概而论。Integer调用toString()方法也是这个值,要重写该方法让其返回字符串值才能真正返回需要的字符串。
8、java中Pattern类提供的静态方法matches()可以进行正则表达式的匹配,有两个参数,第一个是正则表达式字符串,第二个是被匹配的字符序列,如果字符序列与正则表达式相匹配则返回true,否则返回false。
新闻热点
疑难解答