Java核心类

StringBuilder

Java标准库里提供了StringBuilder,它是一个可变对象,可以预先分配缓存区,往StringBuilder中新增字符的时候,不会创建新的临时对象。

StringBuilder sb=new StringBuilder(1024);
for(int i=0;i<100;i++){
sb.append("i");
sb.append("o");
}
String s=sb.toString();

还可以进行链式操作,里面定义的append()方法会返回this,这样,就可以不断的调用自身的其他方法。

一个不断增加的计算器。
public class Main {
    public static void main(String[] args) {
        Adder adder = new Adder();
        adder.add(3)
             .add(5)
             .inc()
             .add(10);
        System.out.println(adder.value());
    }
}

class Adder {
    private int sum = 0;

    public Adder add(int n) {
        sum += n;
        return this;
    }

    public Adder inc() {
        sum ++;
        return this;
    }

    public int value() {
        return sum;
    }
}

StringBuffer是早期StringBuilder的一个线程安全版本,它通过同步来保证多个线程操作StringBuffer也是安全的,但是同步会带来执行速度的下降。

包装类

基本数据类型:byte,short,int,long,double,float,char,boolean
基本数据类型不能赋值为null。
包装类将基本数据类型包装为引用类型,可以赋值为null
在这里插入图片描述
直接把int变为Integer的赋值写法,称为自动装箱(Auto Boxing),反过来,把Integer变为int的赋值写法,称为自动拆箱(Auto Unboxing)。

JavaBean

JavaBean主要用来传输数据,即把一组数据组合成一个JavaBean便于传输,通过ide可以快速的生成get/set方法。

public class Person {
    private String name;
    private int age;

    public String getName() { return this.name; }
    public void setName(String name) { this.name = name; }

    public int getAge() { return this.age; }
    public void setAge(int age) { this.age = age; }

    public boolean isChild() {
        return age <= 6;
    }
}

enum 枚举

enum weekday{
SUN,MON,TUE,WED,THU,FRI,SAT;
}

和int定义的常量相比,使用enum定义枚举有以下好处,
1,enum常量本身带有类型信息,即weekday.SUN类型是weekd类型,

int day=1;
if(day=weekday.sun){}
这里会报编译错误,因为weekday.sun是weekday类型,

2,不可能引用到非枚举的值,
3,不同类型的枚举不能相互比较或者赋值,因为类型不符。例如,不能给一个Weekday枚举类型的变量赋值为Color枚举类型的值:
#switch
枚举可以应用在switch中,因为枚举天生具有类型信息和有限个枚举常量,

    public static void main(String[] args) {
        Weekday day = Weekday.SUN;
        switch(day) {
        case MON:
        case TUE:
        case WED:
        case THU:
        case FRI:
            System.out.println("Today is " + day + ". Work at office!");
            break;
        case SAT:
        case SUN:
            System.out.println("Today is " + day + ". Work at home!");
            break;
        default:
            throw new RuntimeException("cannot process " + day);
        }
    }
}

enum Weekday {
    MON, TUE, WED, THU, FRI, SAT, SUN;
}

常用工具类

Math:Math类就是用来进行数学计算的
Random:Random用来创建伪随机数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值