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));

7、常用类(String)

字符串的常用API

String构造方法

  1. <span class="kwd">public<span class="pln"> <span class="typ">String<span class="pun">()</span></span></span></span>
  2. <span class="kwd">public<span class="pln"> <span class="typ">String<span class="pun">(<span class="kwd">byte<span class="pun">[]<span class="pln"> bytes<span class="pun">)</span></span></span></span></span></span></span></span>
  3. <span class="kwd">public<span class="pln"> <span class="typ">String<span class="pun">(<span class="kwd">byte<span class="pun">[]<span class="pln"> bytes<span class="pun">,<span class="kwd">int<span class="pln"> offset<span class="pun">,<span class="kwd">int<span class="pln"> length<span class="pun">)</span></span></span></span></span></span></span></span></span></span></span></span></span></span>
  4. <span class="kwd">public<span class="pln"> <span class="typ">String<span class="pun">(<span class="kwd">char<span class="pun">[]<span class="pln"> value<span class="pun">)</span></span></span></span></span></span></span></span>
  5. <span class="kwd">public<span class="pln"> <span class="typ">String<span class="pun">(<span class="kwd">char<span class="pun">[]<span class="pln"> value<span class="pun">,<span class="kwd">int<span class="pln"> offset<span class="pun">,<span class="kwd">int<span class="pln"> count<span class="pun">)</span></span></span></span></span></span></span></span></span></span></span></span></span></span>
  6. <span class="kwd">public<span class="pln"> <span class="typ">String<span class="pun">(<span class="typ">String<span class="pln"> original<span class="pun">)</span></span></span></span></span></span></span>

String的判断方法

  1. <span class="kwd">boolean<span class="pln"> equals<span class="pun">(<span class="typ">Object<span class="pln"> obj<span class="pun">)&#xA0;&#xA0;</span></span></span></span></span></span>
  2. <span class="kwd">boolean<span class="pln"> equalsIgnoreCase<span class="pun">(<span class="typ">String<span class="pln"> str<span class="pun">)&#xA0; &#xA0; &#xA0; &#xA0; &#xA0;</span></span></span></span></span></span>
  3. <span class="kwd">boolean<span class="pln"> contains<span class="pun">(<span class="typ">String<span class="pln"> str<span class="pun">)&#xA0; <span><strong>&#x53C2;&#x6570;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;</strong></span></span></span></span></span></span></span>
  4. <span class="kwd">boolean<span class="pln"> startsWith<span class="pun">(<span class="typ">String<span class="pln"> str<span class="pun">)</span></span></span></span></span></span>
  5. <span class="kwd">boolean<span class="pln"> endsWith<span class="pun">(<span class="typ">String<span class="pln"> str<span class="pun">)</span></span></span></span></span></span>
  6. <span class="kwd">boolean<span class="pln"> isEmpty<span class="pun">() <span><strong>&#x6CA1;&#x6709;&#x53C2;&#x6570;</strong></span></span></span></span>

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

  1. <span class="kwd">int<span class="pln"> length<span class="pun">()</span></span></span>
  2. <span class="kwd">char<span class="pln"> charAt<span class="pun">(<span class="kwd">int<span class="pln"> index<span class="pun">)</span></span></span></span></span></span>
  3. <span class="kwd">int<span class="pln"> indexOf<span class="pun">(<span class="kwd">int<span class="pln"> ch<span class="pun">)&#xA0;&#xA0;</span></span></span></span></span></span>
  4. <span class="kwd">int<span class="pln"> indexOf<span class="pun">(<span class="typ">String<span class="pln"> str<span class="pun">)&#xA0; &#xA0;</span></span></span></span></span></span>
  5. <span class="kwd">int<span class="pln"> indexOf<span class="pun">(<span class="kwd">int<span class="pln"> ch<span class="pun">,<span class="kwd">int<span class="pln"> fromIndex<span class="pun">)</span></span></span></span></span></span></span></span></span>
  6. <span class="kwd">int<span class="pln"> indexOf<span class="pun">(<span class="typ">String<span class="pln"> str<span class="pun">,<span class="kwd">int<span class="pln"> fromIndex<span class="pun">)</span></span></span></span></span></span></span></span></span>
  7. <span class="typ">String<span class="pln"> substring<span class="pun">(<span class="kwd">int<span class="pln"> start<span class="pun">)</span></span></span></span></span></span>
  8. <span class="typ">String<span class="pln"> substring<span class="pun">(<span class="kwd">int<span class="pln"> start<span class="pun">,<span class="kwd">int<span class="pln"> <span class="kwd">end<span class="pun">)<span><strong>&#xFF08;&#x5DE6;&#x95ED;&#x53F3;&#x5F00;&#xFF09;</strong></span></span></span></span></span></span></span></span></span></span></span>

String的转换方法

  1. <span class="kwd">byte<span class="pun">[]<span class="pln"> getBytes<span class="pun">()&#xA0; <strong><span>&#xFF08;&#x5C06;&#x5B57;&#x7B26;&#x4E32;&#x8F6C;&#x6362;&#x6210;&#x5B57;&#x8282;&#xFF09;</span></strong></span></span></span></span>
  2. <span class="kwd">char<span class="pun">[]<span class="pln"> toCharArray<span class="pun">() <span><strong>&#xFF08;&#x5C06;&#x5B57;&#x7B26;&#x4E32;&#x8F6C;&#x6362;&#x4E3A;&#x5B57;&#x7B26;&#x6570;&#x7EC4;&#xFF09;</strong></span>&#xA0;</span></span></span></span>
  3. <span class="kwd">static<span class="pln"> <span class="typ">String<span class="pln"> valueOf<span class="pun">(<span class="kwd">char<span class="pun">[]<span class="pln"> chs<span class="pun">)&#xA0; <span><strong>&#xFF08;&#x5B57;&#x7B26;&#x6570;&#x7EC4;&#x8F6C;&#x6362;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;,&#x9759;&#x6001;&#x65B9;&#x6CD5;&#xFF0C;&#x76F4;&#x63A5;&#x901A;&#x8FC7;String&#x7C7B;.&#x65B9;&#x6CD5;&#x6765;&#x8C03;&#x7528;&#xFF09;</strong></span></span></span></span></span></span></span></span></span></span>
  4. <span class="kwd">static<span class="pln"> <span class="typ">String<span class="pln"> valueOf<span class="pun">(<span class="kwd">int<span class="pln"> i<span class="pun">)</span></span></span></span></span></span></span></span>
  5. <span class="typ">String<span class="pln"> toLowerCase<span class="pun">()</span></span></span>
  6. <span class="typ">String<span class="pln"> toUpperCase<span class="pun">()</span></span></span>
  7. <span class="typ">String<span class="pln"> concat<span class="pun">(<span class="typ">String<span class="pln"> str<span class="pun">)&#xFF08;&#x5C06;str&#x52A0;&#x5165;&#x5230;&#x5B57;&#x7B26;&#x4E32;&#x7684;&#x672B;&#x5C3E;&#xFF09;</span></span></span></span></span></span>

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)

7、常用类(String)

Original: https://www.cnblogs.com/hxbhxb/p/15497344.html
Author: 金涛骇浪
Title: 7、常用类(String)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/575224/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球