
基础知识类
呆呆4221
白的不能再白的小白
展开
-
List、Set、Map简单总结
关于集合中List、Map、Set这三个集合简单总结如下:List:List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,LinkedList,Vector>ArrayList:非线程安全,适合随机查找和遍历,不适合插入和删除。LinkedList : 非线程安全,适合...转载 2018-06-21 11:11:08 · 225 阅读 · 0 评论 -
String、StringBuffer、StringBuilder 的区别
(1)、可变不可变String:字符串常量,在修改时不会改变自身;若修改,等于重新生成新的字符串对象。StringBuffer:在修改时会改变对象自身,每次操作都是对StringBuffer 对象本身进行修改,不是生成新的对象;使用场景:对字符串经常改变情况下,主要方法:append(),insert()等。(2)、线程是否安全String:对象定义后不可变,线程安全。StringBuffer:是...原创 2018-06-28 17:45:32 · 148 阅读 · 0 评论 -
java中日期和时间的获取
1、取得年月日、小时分钟秒1. public class DateTimeTest {2. public static void main(String[] args) {3. Calendar cal = Calendar.getInstance();4. System.out.println(cal.get(Calendar.YEAR));5. System.out.println(cal.g...原创 2018-06-28 15:03:31 · 439 阅读 · 0 评论 -
final、finally、finalize 的区别
1)final:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,被其修饰的类不可继承。2)finally:异常处理语句结构的一部分,表示总是执行。3)finalize:Object 类的一个方法,在垃圾回收器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。该方法更像是一个对象生命周期的临终方法,当该方法被系统调用则代表该对象即将“死亡”,但...原创 2018-06-28 14:42:59 · 179 阅读 · 0 评论 -
throw 和 throws 的区别
throw: 1)throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。 2)throw 是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行 throw 一定是抛出了某种异常。throws: 1)throws 语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。 2)throws 主要是声明这个方法...原创 2018-06-28 14:40:24 · 303 阅读 · 0 评论 -
常见的几个 RuntimeException
1)java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。2)java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误;通常都是程序试图通过字符串来加载某个类时可能引发异常。3)java.lang.NumberFormatException 字符串转换为数字异常;出现原...原创 2018-06-28 14:38:44 · 470 阅读 · 0 评论 -
==和 equals 的区别
equals 和== 最大的区别是一个是方法一个是运算符。==:如果比较的对象是基本数据类型,则比较的是数值是否相等;如果比较的是引用数据类型,则比较的是对象的地址值是否相等。equals():用来比较方法两个对象的内容是否相等。注意:equals 方法不能用于基本数据类型的变量,如果没有对 equals 方法进行重写,则比较的是引用类型的变量所指向的对象的地址...原创 2018-06-28 14:31:26 · 180 阅读 · 0 评论 -
抽象类(abstract class)和接口(interface)异同
不同:抽象类:1.抽象类中可以定义构造器2.可以有抽象方法和具体方法3.接口中的成员全都是 public 的4.抽象类中可以定义成员变量5.有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法6.抽象类中可以包含静态方法7.一个类只能继承一个抽象类接口:1.接口中不能定义构造器2.方法全部都是抽象方法3.抽象类中的成员可以是 private、默认、protected、public4.接口中定...原创 2018-06-28 14:27:59 · 581 阅读 · 0 评论 -
重载(overload)和重写(override)的区别
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特...原创 2018-06-28 14:22:37 · 173 阅读 · 0 评论 -
&和&&区别、 |和||
&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而...原创 2018-06-28 14:13:21 · 246 阅读 · 0 评论