复习1、String类的使用

发布于:2022-08-07 ⋅ 阅读:(372) ⋅ 点赞:(0)

目录

1、String简单介绍

2、String概述

3、创建字符串的几种方式

4、常用API

5、应用:随机生成四位验证码

6、常见面试题

7、力扣来几题


1、String简单介绍

       定义的变量可以用于存储字符串,同时String类提供了很多操作字符串的功能,我们可以直接使用。

关于String类需要知道:

1、String定义变量存储字符串

2、String内存原理

3、String类提供的常用API

4、String解决实际案例

2、String概述

String其实常被称为不可变字符串类型,他的对象在创建后不能被更改

String是字符串类型,可以定义字符串变量指向字符串对象

String变量每次的修改其实都是产生并指向了新的字符串对象,原来的字符串对象都是没有改变的,所以称不可变字符串

3、创建字符串的几种方式

 

//创建字符串最简单的方式
String s0 = "hello word";

//public String(char[] c) 根据字符数组的内容,来创建字符串对象
char[] chars = {'a','b','c'};
String s1 = new String(chars);

//public String(byte[] b)根据字节数组的内容,来创建字符串对象
byte b[] = {97,98};// -158  ---  127
String s2 = new String(b);

区别:

以“ ”方式给出的字符串对象,在字符串常量池中存储,而且相同内容只会在其中存储一份

通过构造器new对象,每new一次都会产生一个新对象,放在堆内存中

 

 字符串创建对象的特点:

        双引号创建的字符串对象,在字符串常量池中存储同一个。

        通过new构造器创建的字符串对象,在堆内存中分开存储

4、常用API

char

charAt(int index)

返回指定索引处的 char值。

char[]

toCharArray()

将此字符串转换为新的字符数组。

boolean

contains(CharSequence s)

当且仅当此字符串包含指定的char值序列时,才返回true

boolean

equals(Object anObject)

将此字符串与指定的对象进行比较。

boolean

equalsIgnoreCase(String anotherString)

将此 String与另一个 String比较,忽略了大小写。

byte[]

getBytes(String charsetName)

使用命名的字符集将此 String编码为字节序列,将结果存储到新的字节数组中。

boolean

isEmpty()

返回 true ,当且仅当, length() 0 

int

length()

返回此字符串的长度。

String

replace(char oldChar, char newChar)

返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar 

String[]

split(String regex)

将此字符串拆分为给定 regular expression的匹配  

String

substring(int beginIndex, int endIndex)

返回一个字符串,该字符串是此字符串的子字符串。

更多方法和方法的使用请直接查看API文档,其中有详细的说明(API在线文档来源于菜鸟教程)

String (Java SE 11 & JDK 11 ) (runoob.com)

5、应用:随机生成四位验证码

String name = "acbdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
Random r = new Random();
String names = "";
for(int i = 0; i < 4; i++){
    int index = r.nextInt(name.length());
    names += name.charAt(index);
}

6、常见面试题

String s2 = new String("abc");先在常量池中创建了一个“abc”对象,再将常量池中的“abc”对象复制到堆中,并把这个对象交给s2,所以创建了两个对象

“==”在基本类型比较时,是比较数据,在引用类型比较时,比较的是地址,在String中,我们使用equlas进行内容的比较,内容相同就返回true

7、力扣来几题

13. 罗马数字转整数 - 力扣(LeetCode)

12. 整数转罗马数字 - 力扣(LeetCode)

227. 基本计算器 II - 力扣(LeetCode)


网站公告

今日签到

点亮在社区的每一天
去签到