
java面试题及答案5.doc
4页经典java面试题及答案 根本数据类型有四类八种 整形:byte short int long 浮点型:float double 字符型:char 布尔型:boolean String str = "abcd"; str = new String(str.getBytes("GB2312"), "ISO88591"); char能不能放下一个中文字符,为什么? (1)本质上的区别是:String是不可变类(immutable),而StringBuffer是可变类 StringBuffer是可以改变字符串长度的,用append("str")的方法可以不断增加内容, 而String那么不可以,并且相同的字符串对象是相同的地址引用, 假设要String改变值,需要改变String变量的引用(指向新的对象) (2)== 是对引用进展判断,对内存地址的判断 equals()是判断引用的值是否相等,对实际存储的值的判断 内存地址相同的值一定相同,但值相同的内存地址就不一定相同 (3)char可以放下一个中文字符,因为java采用的是unicode编码,一个字符为两个字节。
String str = "abcdefg"; //方法一:利用StringBuffer的reverse()方法实现 public static String reverse2(String str) { StringBuffer sb = new StringBuffer(str); sb.reverse().toString(); return sb.toString(); } //方法二: public static String reverse(String str) { if (str == null) { throw new NullpointerException(); } return (new StringBuffer(str)).reverse().toString(); } //方法三:参照StringBuffer的reverse()方法 public static String reverse(String s){ int length=s.length(); StringBuffer result=new StringBuffer(length); for(int i=length-1;i>=0;i--) result.append(s.charAt(i)); return result.toString(); } String rep = "abc.abc.abc"; String rep2 = rep.replaceAll("\\\\.", "/"); //由于.是特殊字符,需要加上\\\\转义,否那么全部转换成/了 int i = 123456; 将整数i转换成字串 s 1.) String s = String.valueOf(i); 2.) String s = Integer.toString(i); 3.) String s = "" + i; 将字串 s 转换成整数 i 1.)int i = Integer.parseInt(s); 2.)int i = Integer.parseInt(s,10);//int radix为进制 3.)int i = Integer.valueOf(s).intValue(); 注: double, float, long 转换的方法大同小异. //获取当前系统的时间new java.util.Date date = new java.util.Date(); //取得从1970年到现在的毫秒数 long now = date.getTime(); //格式化日期 java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //转为字符串 String dateStr = df.format(date); 判断是否存在,存在那么列出其下所有文件名,包括子目录以及下面的文件,不存在那么新建该文件夹。












