1.怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
String s1 = "你好"
String s2 = new String (s1.getBytes("GB2312"),"ISO-8859-1")
2.final关键字的用法和static关键字
final
1.修饰类时表示该类不能被继承
2.修饰方法时表示该方法不能被重写
3.修饰变量时表示这是一个常量
static
1、修饰成员变量
2、修饰成员方法
3、静态块
4、静态导包
3.简述自动装箱和自动拆箱的原理
装箱和拆箱是编译器认可的,而不是虚拟机。编译器在生成类的字节码时,
插入必要的方法调用,如:
自动装箱:
Integer a = 100 -> Integer a = Integer.valueOf(100);
可以看出 自动装箱时 调用了Integer.valueOf方法将int类型
的值100转换成了Integer类型的
自动拆箱:
int d = a -> int d = a.intValue()
可以看出 自动拆箱时,调用了Integer的intValue方法,将Integer类型
变量转换成了int类型。
4.简述ArrayList和LinkedList的不同
List接口的两个常见实现类为ArrayList和LinkedList,分别用动态数组和
链表的方式实现了List接口。
可以认为ArrayList和LinkedList的方法在逻辑上完全一样,
只是在性能上有一定的差别,ArrayList更适合于随机访问 而LinkedList
更适合于插入和删除;在性能要求不是特别苛刻的情形下可以
忽略这个差别。
5.Comparator
Comparator接口实现对集合中的元素排序
6.简述队列和栈的不同,以及在java语言中如何实现这两个数据结构
队列遵循先进先出(FIFO,First Input First Output )的原则,
而栈遵循先进后出(FILO,First Input Last Output )的原则。
队列和栈在Java语言中的实现如下:
JDK中提供了Queue接口来实现队列这个数据结构,
同时使得LinkedList实现了该接口;同时,
JDK中还提供了Deque接口来实现栈这个数据结构,
而 LinkedList也实现了该接口。
7.Collection和Collections的区别
Collection 是一个集合接口(集合类的一个顶级接口),其直接继承接口
有List与Set
Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态
方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。