1. API
API(Application Programming Interface):应用程序接口。
Java中的API:
指的是JDK中提供的各种功能的Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。
2. String类
2.1 String类概述
String类代表字符串,Java程序中所有的字符串文字都被实现为此类的示例。也就是说,Java程序中所有的字符串都是String类的对象。String类在java.lang
包下,所以使用的时候不需要导包。
2.2 String类的特点
- 字符串不可变,它们的值在创建后不能被更改
- 虽然字符串的值是不可变的,但是可以被共享
- 字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])
2.3 String类的常见构造方法
方法声明 | 功能描述 |
---|---|
String() | 创建一个空字符串 |
String(String value) | 根据指定的value创建字符串 |
String(char[] value) | 根据指定的字符数组创建字符串 |
String(byte[] bytes) | 根据指定的字节数组创建字符串 |
2.4 创建String对象的两种方法的区别
-
通过构造方法创建
通过new创建的String对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同。
-
直接赋值方式创建
直接赋值的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM都只会创建一个String对象,并在字符串池中维护。
2.5 字符串的比较
2.5.1 ==
- 基本数据类型:比较的是具体的值
- 引用数据类型:比较的是对象的地址值
2.5.2 equals方法
方法原型:
public boolean equals (String s)
注意:
比较字符串时,
==
比较的是字符串的地址,并不是字符串的内容,所以要比较字符串内容时要使用equals方法。
3. StringBuilder
StringBuilder可以看作是一个容器,创建之后里面的内容是可变的。
StringBuilder通常用于拼接字符串。
3.1 基本使用
public class StringBuilderDemo3 {
public static void main(String[] args) {
//1.创建对象
StringBuilder sb = new StringBuilder("abc");
//2.添加元素
/*sb.append(1);
sb.append(2.3);
sb.append(true);*/
//反转
sb.reverse();
//获取长度
int len = sb.length();
System.out.println(len);
//打印
//普及:
//因为StringBuilder是Java已经写好的类
//java在底层对他做了一些特殊处理。
//打印对象不是地址值而是属性值。
System.out.println(sb);
}
}
3.2 链式编程
public class StringBuilderDemo4 {
public static void main(String[] args) {
//1.创建对象
StringBuilder sb = new StringBuilder();
//2.添加字符串
sb.append("aaa").append("bbb").append("ccc").append("ddd");
System.out.println(sb);//aaabbbcccddd
//3.再把StringBuilder变回字符串
String str = sb.toString();
System.out.println(str);//aaabbbcccddd
}
}
4. StringJoiner
StringJoiner和StringBuilder一样,也可以看作是一个容器,创建之后里面的内容时可变的。
StringJoiner可以提高字符串的操作效率,而且代码编写特别简洁。
基本使用:
//1.创建对象
StringJoiner sj = new StringJoiner(", ","[","]");
//2.添加元素
sj.add("aaa").add("bbb").add("ccc");
int len = sj.length();
System.out.println(len);//15
//3.打印
System.out.println(sj);//[aaa, bbb, ccc]
String str = sj.toString();
System.out.println(str);//[aaa, bbb, ccc]
标签:Java,String,StringBuilder,笔记,学习,println,字符串,sb
From: https://www.cnblogs.com/kuaicode/p/17001002.html