文章列表
Java枚举是一个类,枚举里面的元素相当于该类的实例对象。
声明一个枚举对象,元素列表位于最前面
enum WeekDay {
SUN, MON, TUE, WED, THU, FRI, SAT;
}
获取一个枚举元素
WeekDay weekDay = WeekDay.SUN;
System.out.println(weekDay); //SUN
System.out.println(weekDay.name()); //SUN
System.out.println(weekDay.ordinal()); //返回该元素的位置 0
枚举类 ...
Java中的final关键字
- 博客分类:
- Java SE
final关键字可以修饰变量,方法和类。
1、final修饰变量的值不能被改变
final可以修饰成员变量或者局部变量,也可以修饰形参。修饰形参意味着传进来的该参数在方法内无法改变。
public void read(final String name){
...
}
2、final修饰方法,该方法不能被重写
3、final修饰类,该类不能被继承,比如String类。
Java中的字符串分割
- 博客分类:
- Java SE
1、使用String类的split方法
public String[] split(String regex)
使用正则表达式进行匹配分割,该方法效率比较低。
注意,该方法相当于split(String regex, 0)方法,在匹配到的情况下,结尾的空字符串将被丢弃(这里不是空格字符串)。如果没有匹配到任何东西的话,则返回数组只有原字符串。
String str = "";
String targets[] = str.split("\\+");
for(String target : targets){
Syste ...
Java中浮点数丢失精度的解决方案
- 博客分类:
- Java SE
根据IEEE 754标准,规定浮点数有float和double两种编码方式,基本格式为:
> 符号数 | 阶码数 | 尾数
float 单精度,长度4个字节,最高位符号位,接下来8位为指数,低23位为位数。
double 双精度,长度8个字节,最高位符号位,接下来11位为指数,低52位为位数。
由于大多数小数无法用精确的二进制表示,所以会出现精度丢失的情况。如,
System.out.println(0.05 + 0.01);
result: 0.060000000000000005
System.out.println(1.0 - 0 ...