Java 常用API


String类

  1. String代表字符串,是个常量,创建值之后不能再更改
  2. 变更字符串内容实际上是新开了内存空间,并改了记录的地址值,指向新字符串
创建对象,把数组元素变成一串字符串

String = new String( byte[] 或者 char[] )

字符串长度

int = str.length

获取部分字符串

String = str.substring(index)
String = str.substring(begin , end)

是否指定开头和结尾

boolean = str.startsWith("abc")
boolean = str.endsWith("abc")

判断字符串是否包含另一个字符串

boolean = str.contains("abc")

判断字符串是否为空字符串

boolean = str.isEmpty()

返回指定字符串第一次出现的索引值

int = str.indexOf("abc")
int = str.indexOf( "abc" , startIndex )

将字符串转成 字节数组 或 字符数组

byte[] = str.getBytes() 与 char[] = str.toCharArray()

将字符串里某些字符或字符串替换成新字符或字符串

String = str.replace( old , new )

去除字符串头尾空格,中间不去除

String = str.trim()

将字符串转换大小写

String = str.toLowerCase()
String = str.toUpperCase()



StringBuffer、StringBuilder类

  1. 又称可变字符序列,即可变的字符串,其实就是一个容器,容器里存放多个字符串
  2. 长度可变,且支持任意类型(任意类型转成String存储)
  3. 所有容器里的数据最终变成一个字符串
拼接字符串

strbuff.append( String )

移除从start到end的字符串

strbuff.delete( start , end )

替换从start到end的字符串

strbuff.replace( start , end , String )

反转字符串内容

strbuff.reverse()



正则表达式

  1. 通常用来检索、替换一些符合规则的文本(详细后续补坑)
  2. 正则表达式是通过Pattern类与Matcher类实现的;
    • Pattern类用于创建一个正则表达式(匹配模式),只有简单的匹配操作
    • Matcher类提供更强更便捷的正则匹配操作,以及分组支持
判断字符串是否匹配regex规则

boolean = str.matches( regex )

根据regex规则拆分字符串成一个数组

String[] = str.split( regex )

将符合regex规则的子字符串替换成新字符串

String = str.replaceAll( regex , "new" )



包装类

基本类型封装成对象,提供更多操作数值的功能:

Integer = Integet.valueOf( value )
Character = Character.valueOf( value )

除上面两个外,其他六个将名字小写改为大写即可

字符串转基本类型:(静态方法)

byte = Byte.parseByte("127")
short = Short.parseShort(str)
int = Integer.parseInt(str)
long = Long.parseLong(str)
float = Float.parseFloat(str)
double = Double.parseDouble(str)

在需要的情况下,基本类型与包装类型可以通用

  • 自动拆箱 = 对象转成基本数值
  • 自动装箱 = 基本数值转成对象(在数值范围内,不会新创建对象空间)


大数据运算

  • BigInteger(整形)
    用不同构造方法可以将 二进制补码形式的btye数组、十进制、字符串、等等等转换为BigInteger
    public static void main(String[] args) {
        //大数据封装为BigInteger对象
        BigInteger big1 = new BigInteger(12345678909876543210);
        BigInteger big2 = new BigInteger(98765432101234567890);
        //add实现加法运算
        BigInteger bigAdd = big1.add(big2);
        //subtract实现减法运算
        BigInteger bigSub = big1.subtract(big2);
        //multiply实现乘法运算
        BigInteger bigMul = big1.multiply(big2);
        //divide实现除法运算
        BigInteger bigDiv = big2.divide(big1);
    }
  • BigDecimal(浮点型)

加:add
减:subtract
乘:multiply
除:divide
乘次方:pow ( int )
取绝对值:abs( )
取反:negate( )
对比:compareTo ( BigDecimal )
设置小数精确度:setScale( int )
保留小数点并选择保留方式(加一或四舍五入):setScale( int , int )

想要避免精度损失,应先将double类型的值转化为 String,然后用 BigDecimal 类型运算

    public static void main(String[] args) {
        //大数据封装为BigDecimal对象
        BigDecimal big1 = new BigDecimal("0.09");
        BigDecimal big2 = new BigDecimal("0.01");
        BigDecimal big3 = new BigDecimal("1.0");
        BigDecimal big4 = new BigDecimal("0.32");
        BigDecimal big5 = new BigDecimal("1.105");
        BigDecimal big6 = new BigDecimal("100");
        //add实现加法运算
        BigDecimal bigAdd = big1.add(big2);
        //subtract实现减法运算
        BigDecimal bigSub = big3.subtract(big4);
        //multiply实现乘法运算
        BigDecimal bigMul = big5.multiply(big6);
    }


System类

  1. 提供的是对应系统属性信息和系统操作
  2. System类不能手动创建对象,因为被private修饰
返回以毫秒为单位的当前时间

long = System.currentTimeMillis()


Math类

  1. 数学工具类,均为静态方法
返回输入数的绝对值

double = Math.abs(double)

返回两个数最大最小值

double = Math.max( n , n) 与 double = Math.min( n , n)

返回参数值四舍五入后的结果

double = Math.round( double )

产生一个 [ 0 , 1 ) 的double小数

double = Math.random()


Arrays类

  1. 用于操作数组的工具类
  2. 如果指定数组引用是null,会抛出空指针异常
对指定的int数组进行升序排序

Arrays.sort( int[] )

在数组里查找key出现的位置,必须是有序数组

int = Arrays.binarySearch( int[] , int key)



posted @ 2019-07-14 19:55  鹿友  阅读(206)  评论(0编辑  收藏  举报