7、常用类(String)

帮助文档

注释

     单行  //

     多行   /*   */

     文档注释 /**   */

     帮助文档就是通过文档注释生成的:jdk中提供了Javado  c命令。可以将源代码中的文档注释提取出来,构成html格式的帮助文档

String 的内存图

 

1         String s1="aaa";
2         String s2="aaa";
3         System.out.println(s1==s2);
4         System.out.println(s1.equals(s2));
5         
6         String s3= new String("aaa");
7         String s4= new String("aaa");
8         System.out.println(s3==s4);
9         System.out.println(s3.equals(s4));

 

 

 

字符串的常用API

 String构造方法

  1. public String()
  2. public String(byte[] bytes)
  3. public String(byte[] bytes,int offset,int length)
  4. public String(char[] value)
  5. public String(char[] value,int offset,int count)
  6. public String(String original)

String的判断方法

  1. boolean equals(Object obj)  
  2. boolean equalsIgnoreCase(String str)         
  3. boolean contains(String str参数为字符串
  4. boolean startsWith(String str)
  5. boolean endsWith(String str)
  6. boolean isEmpty() 没有参数

 

String的获取方法(注意:indexOf的参数可以是整数或者字符串,具体可看API)

  1. int length()
  2. char charAt(int index)
  3. int indexOf(int ch)  
  4. int indexOf(String str)   
  5. int indexOf(int ch,int fromIndex)
  6. int indexOf(String str,int fromIndex)
  7. String substring(int start)
  8. String substring(int start,int end)(左闭右开)

 

String的转换方法

 

  1. byte[] getBytes()  (将字符串转换成字节)
  2. char[] toCharArray() (将字符串转换为字符数组) 
  3. static String valueOf(char[] chs(字符数组转换为字符串,静态方法,直接通过String类.方法来调用)
  4. static String valueOf(int i)
  5. String toLowerCase()
  6. String toUpperCase()
  7. String concat(String str)(将str加入到字符串的末尾)

String的其他功能

     1、替换:

     String replace(char old, char new)

     String replace(String old, String new)

     2、去除字符串空格(只去除前后的空格,作用在用户要输入账号密码时,可能有空格,传到后端就可以使用这个方法去掉空格)

      String trim()

     3、按字典顺序比较两个字符串

     int compareTo(String str)

     int compareToIgnoreCase(String str)

 

StringBuilder

底层也是字符数组,没有final修饰,频繁修改字符串内容,性能高。

扩容:原始容量*2+2

 

StringBuider  和  String 并不能兼容,不能直接转换

String转StringBuilder

直接new StringBuilder(String str)

 

StringBuilder转String

创建StringBuilder对象,然后通过toString()方法

也可以通过+ " "

 

StringBuilder常用方法

添加功能

append(String str)

insert(int offset,String str)

删除功能   delete

替换  replace

反转  reverse

这些功能的返回值都是StringBuilder

而截取功能  substring(int start,  int  end)   返回值是String类型

 

String、StringBuilder、StringBuffer的区别

String   :  不可变字符串(底层是在堆里面char数组,这个数组是用final关键字修饰的),如果要频繁修改字符串,性能就比较低

StringBuilder、StringBuffer: 可变字符串(底层没有用final修饰),效率高

   StringBuilder:线程不安全,性能高

   StringBuffer:线程安全,性能低

 

Arrays工具类

 提供数组的常用操作,一些常用方法

static String toString(int[ ]  a)

static void   sort(int[ ] a)

static  int  binarySearch(int[ ] a, int  key): 二分查找,使用这个方法之前必须要使用sort排序

static  int[ ]  copyOf(int[ ]  original ,  int  newLength)  数组扩容

 

包装类

对基本类型的封装(主要就是解决基本类型不能点方法或者属性)

Integer  Byte  Short   Float Double Long Boolean  Character

装箱:引用类型=基本类型(这里可以把堆内存比作箱子)

拆箱:基本类型=引用类型

主要掌握方法:

static   int  parseInt(String s)   字符串转整数

 

Character

 字符包装类

静态方法

static   boolean   isUpperCase(char  ch)

            boolean  isLowerCase(cahr   ch)

            boolean  isDigit(char   ch)

            char  toUpperCase(char  ch)

            char   toLowerCaser(cahr  ch)

 

Math

 数学运算工具类

全是静态方法

static  int abs(int  a)  绝对值

static  double  ceil(double a)    向上取整

static  double  floor(double a)   向下取整

static  int  round(float  a)      四舍五入

             int   max(int a, int b)   

          double   pow(double a, double b)   幂运算

          double   random() 

          double  sqrt(double  a)

 

Random

本质:底层是一个种子,(默认就是按照时秒)比如种子确定了,那么产生的随机数就是同一个

 

UUID

 系统按照一定的算法,产生一组不重复的32位字符:底层使用硬件参数+系统时间,作为入口计算值

static  UUID  randomUUID( )

 

System(都是静态方法)

gc()

     执行垃圾回收,清理对象的堆空间,调用finalize()方法

exit(int status)

     整个程序结束,注意和return的区别:结束当前方法

currentTimeMillis()

    获取系统当前时间毫秒数:从1770-01-01  0:0:0

     和时间秒数相关的整数

      int  秒

      long  毫秒

数组复制扩容:

    static void  arraycopy()

 

BigInteger

大整数运算  简单来说就是数字很大的时候,通过字符串

有构造方法

以下这些方法返回值都是BigInteger

  add(BigInteger  val)       加法

  subtract(BigInteger  val)     减法

   multiply(BigInteger  val)   乘法

   divide(BigInteger  val)   除法

   BIgInteger[ ]  divideAndRemainder(BigInteger  val)

BigDecimal

小数运算

也有构造方法

同理返回值都是BigDecimal  

add(BigDecimal  val)       加法

  subtract(BigDecimal  val)     减法

   multiply(BigDecimal  val)   乘法

   divide(BigDecimal  val)   除法

     divide(BigDecimal  val, int  scale, int roundingMode)          除不尽的问题

 

Date

表示特定的瞬间,精确到毫秒

构造方法

成员方法

long  getTime()

void   setTime(long time)

 

字符串互转换日期

DateFormat  是抽象类,所以使用其子类SimpleDateFormat来实例化

字符串转日期

Date  parse(String source)

日期转换字符串

final String format(Date  date)

 

posted @ 2021-11-02 09:39  金涛骇浪  阅读(31)  评论(0编辑  收藏  举报