Java基础知识
2017-11-30 20:03
246 查看
说一下”==”和equals方法究竟有什么区别?
非常经典的一个面试题?先说清楚一个,再来说另一个?
==用来判断两个变量之间的的值是否相等。变量就可以分为基本数据类型变量,引用类型。
如果是基本数据类型的变量直接比较值而引用类型要比较对应的引用的内存的首地址。
equals 用来比较两个对象长得是否一样。判断两个对象的某些特征是否一样。实际上就是调用对象的equals方法进行比较。
讲一下String和StringBuilder的区别(final)?StringBuffer和StringBuilder的区别?
1.在java中提供三个类String StringBuillder StringBuffer来表示和操作字符串。字符串就是多个字符的集合。
String是内容不可变的字符串。String底层使用了一个不可变的字符数组(final char[])
String str =new String(“bbbb”);
而StringBuillder StringBuffer,是内容可以改变的字符串。StringBuillder StringBuffer底层使用的可变的字符数组(没有使用final来修饰)
2.最经典就是拼接字符串。
1、String进行拼接.String c = “a”+”b”;
2、StringBuilder或者StringBuffer
StringBuilder sb = new StringBuilder(); sb.apend(“a”).apend(“b”)
拼接字符串不能使用String进行拼接,要使用StringBuilder或者StringBuffer
3.StringBuilder是线程不安全的,效率较高.而StringBuffer是线程安全的,效率较低。
实现一个拷贝文件的工具类使用字节流还是字符流?
我们拷贝的文件不确定是只包含字符流,有可能有字节流(图片、声音、图像等),为考虑到通用性,要使用字节流。
非常经典的一个面试题?先说清楚一个,再来说另一个?
==用来判断两个变量之间的的值是否相等。变量就可以分为基本数据类型变量,引用类型。
如果是基本数据类型的变量直接比较值而引用类型要比较对应的引用的内存的首地址。
equals 用来比较两个对象长得是否一样。判断两个对象的某些特征是否一样。实际上就是调用对象的equals方法进行比较。
讲一下String和StringBuilder的区别(final)?StringBuffer和StringBuilder的区别?
1.在java中提供三个类String StringBuillder StringBuffer来表示和操作字符串。字符串就是多个字符的集合。
String是内容不可变的字符串。String底层使用了一个不可变的字符数组(final char[])
String str =new String(“bbbb”);
而StringBuillder StringBuffer,是内容可以改变的字符串。StringBuillder StringBuffer底层使用的可变的字符数组(没有使用final来修饰)
2.最经典就是拼接字符串。
1、String进行拼接.String c = “a”+”b”;
2、StringBuilder或者StringBuffer
StringBuilder sb = new StringBuilder(); sb.apend(“a”).apend(“b”)
拼接字符串不能使用String进行拼接,要使用StringBuilder或者StringBuffer
3.StringBuilder是线程不安全的,效率较高.而StringBuffer是线程安全的,效率较低。
实现一个拷贝文件的工具类使用字节流还是字符流?
我们拷贝的文件不确定是只包含字符流,有可能有字节流(图片、声音、图像等),为考虑到通用性,要使用字节流。
相关文章推荐
- java基础知识系列---泛型
- Java基础知识(一)
- JAVA基础-其全面详解Java基础知识(六)
- Java基础知识
- java基础知识整理 一些问题的解答(面试)
- JAVA易错基础知识
- Java基础知识强化61:经典查找之二分查找使用注意事项
- Java程序员从笨鸟到菜鸟之(二十三)常见乱码解决以及javaBean基础知识
- 从零开始学习Java——基础知识之了解Java(第一天)
- 【Java】Java基础知识总结
- Java核心技术卷I:基础知识(原书第8版):6.1 接口
- 【Java基础知识】IO流--File类和路径分隔符
- Java基础知识的分析
- 黑马程序员——java基础知识之集合框架(容器)
- Java基础知识总结
- 黑马程序员——java语言基础——静态static知识小结
- JAVA基础知识之多线程——线程组和未处理异常
- java基础知识
- Java异常基础知识
- Java基础知识强化之IO流笔记73:NIO之 Channel