三、API 81.==和equals的区别? 答:“==”是比较运算符,既能比较基本数据类型,又能比较引用数据类型。基本数据类型比较的是数值,引用数据类型比较的是地址值。 equals是一个方法,只能比较引用数据类型。 82.String str = null 和String str = “”的区别? 答:null是空常量,而 双引号 是字符串类型的对象,只不过值为空。 83.String s1= “abc”, String s2= new String(“abc”),s1==s2结果是什么?s1.equals(s2)结果是什么? 答:s1==s2结果为false。s1指向的常量池中的对象,s2指向的是堆内存中的对象,两者的地址值不同。s1.equals(s2)结果是true。String重写了equals方法,比较的是内容。 84.String和StringBuffer、StringBuilder的区别? 答: String是长度固定的字符串,而其他两个是长度可变的字符串。 StringBuffer和StringBuilder的区别: StringBuffer是JDK1.0版本的,线程是安全的,效率比较低。 StringBuilder是JDK1.5出现的,线程不安全,效率高。 他们的共同点是:都是长度可变的字符串。 85.StringBuilder的底层是什么? 答:底层是字符数组,原始长度为16。通过append添加元素的时候,会自动扩容,扩容规则:大字符串的长度= 小数组长度*2+2. 86.为什么出现基本数据类型包装类? 答:好处是:可以调用方法了,方便我们的操作。 87.String 和int直接的转换? 答:将int类型转为String类型的方法:(1)基本数据类型+“”(2)Integer.toString(int num)(3)String.valueOf(int i) 将String转为int:Integer.parseInt(String s) 88.什么是自动拆装箱? 答:是JDK1.5版本出现的新特性,自动装箱就是把基本数据类型转为为包装类型。拆箱就是把包装类转换为基本数据类型。 Character Integer Double 89.Object类中的常见方法有哪些? 答:hashCode():返回值是int,是该对象的哈希玛值。 equals():返回值是boolean,比较的是地址值。 toString():返回该对象的字符串表现形式。 getClass():返回值类型是Class。返回的是创建该对象所属类对应的字节码文件。 这些方法都需要对象调用,在开发的过程中要重写。 地址值的组成:类名@十六进制的哈希值。 90.获取当前时间毫秒值有哪几种方式? 答:(1)new Date().getTime();(2)System. currentTimeMillis()(3)Calendar.getInstance().getTimeInMillis() 91.正则表达式常用的; \d 数字:[0-9] \w 单词字符:[a-zA-Z_0-9] ()表示分组 \\1表示和前面的相同 . 任何字符 X?,一次或一次也没有 X* ,零次或多次 X+ ,一次或多次 X{n} ,恰好 n 次 X{n,} ,至少 n 次 X{n,m} ,至少 n 次,但是不超过 m 次 92.日历类和日期类相互转换: Calendar c =Calendar.getInstance(); c.setTime(date); c.getTime() 93.Date和String类型的转换? Date类型转为String 是格式化:format String转Date是解析;parse
|