数据类型 | 默认值 | 取值范围 | 包装类 | 内存空间(8位=1字节) |
byte | 0 | -128 ~ 127 | Byte | 8位 |
short | 0 | -32768 ~ 32767 | Short | 16位 |
int | 0 | -2147483648 ~ 2147483647 | Integer | 32位 |
long | 0L | -9,223,372,036,854,775,808~ 9,223,372,036,854,775,807 | Long | 64位 |
float | 0.0f | 1.4E-45~3.4028235E38 | Float | 32位 |
double | 0.0d | 4.9E-324~1.7976931348623157E308 | Double | 64位 |
char | 0 | Character | 16位 | |
boolean | false | Boolean | 64位 |
public calss PreCache{
static{
//执行相关操作
}
}
import static java.lang.Math.*;
public class Test{
public static void main(String[] args){
//System.out.println(Math.sin(20));传统做法
System.out.println(sin(20));
}
}
Error和Exception的父类同为Throwable。
被检查异常:Exception类本身,以及Exception的子类中除了运行时异常之外的其他子类都属于被检查异常,编译器会检查它,要么throws声明抛出,要么try-catch进行捕获处理,否则不能编译通过。
常见的检查异常:
运行时异常:RuntimeException及其子类都被称为运行时异常,编译器不会检查它,当程序中可能出现这类异常时,如果没有throws声明抛出它,或者也没有try-catch捕获它,还是会通过编译。
常见的运行时异常:
错误:Error类及其子类,和运行时异常一样,编译器不会对错误进行检查,当资源不足、约束失败、或者其他程序无法运行的条件发生时,就会产生错误,程序本身无法修复这些错误的。例如:OutOfMemoryError、ThreadDeath。
==对于基本类型来说是值比较,对于引用类型来说比较的是引用。
equals默认情况下是引用比较,只是很多类重新了equals方法,比如String,Integer等把它变成了值比较,所以一般情况下equals比较的是值是否相等。
java中集合有两类,list、set。
hashCode方法可以这样理解,当集合要添加新的元素时,先调用这个元素的hashCode方法,就能定位到它应该放置的物理位置,如果这个位置上没有元素,它就可以直接存储在这个位置上,如果这个位置上已经有元素了,就调用它的equals方法与新元素进行比较,相同的话就不需要再保存了,如果不同就散列其他的地址,这样一来实际调用equals方法的次数就大大降低了。
如果o1.equals(o2),那么o1.hashCode() == o2.hashCode()总是为true的。
如果o1.hashCode() == o2.hashCode(),并不意味着o1.equals(o2)会为true。
无边界通配符
List<?> list;
上边界通配符:通用的类型必须是Number及其子类。
List<? extends Number> list;
下边界通配符:通用类型必须是Integer的父类。
List<? super Integer> list;
泛型必须先声明再使用 通过 <> 来声明 例如 声明泛型T
重写:
重载:
人人都有一个进大厂的梦,希望以上的内容能够对你我这样的人有所帮助。
| 留言与评论(共有 0 条评论) “” |