Java基础——字符串

简介: 一些简单的字符串知识

Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,叫做String.

字串

从字符串截取一段就是该字符串的字串

String类的substring方法可以从一个较大的字符串中提取一个字串。例如:

String str = "hello";
String s = str.substring(0, 3);
// s == "hel"
// 第一个参数是字串开始的位置
// 第二个参数是字串结束的下一个位置

拼接

Java语言允许使用+号连接两个字符串;

String str1 = "hello";
String str2 = "world";
String str3 = str1 + str2;    // "helloworld";

除了两个字符串之外,一个字符串与一个非字符串的值进行拼接时,后者会转换成字符串

不可变字符串

String类中没有提供修改字符串中某个字符的方法,它的对象在创建后不能被更改。

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

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

String是不可变字符串的原因

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

检测字符串是否相等

可以使用equals方法检测两个字符串是否相等。

对于表达式s.equals(t),如果字符串s和字符串t相等,返回true,否则返回false。s和t可以是字符串变量,也可以是字符串字面量。

想要检测字符串是否相当,而不区分大小写,可以使用equalsIgnoreCase方法。

不能使用 ==运算符检测两个字符串是否相等。这个运算符只能够确定两个字符串是否存放在同一位置。

==只能判断基本数据类型是否相等,而对于引用数据类型只能判断是否放在同一位置。

String API

  • char charAt(int index),返回给定位置的代码单元
  • boolean equals(Object other),如果字符串与other相等,返回true
  • int length(),返回字符串长度
  • String substring(int beginIndex, int endIndex),返回一个新子串,从beginIndex开始到endIndex-1结束
目录
相关文章
|
21天前
|
算法 Java
Java 有效字符串判断
Java 有效字符串判断
21 0
|
5天前
|
前端开发 JavaScript Java
【前端学java】详解java中的字符串操作(11)
【8月更文挑战第10天】详解java中的字符串操作
8 3
【前端学java】详解java中的字符串操作(11)
|
3天前
|
Java API 开发者
|
5天前
|
人工智能 Java 容器
十个Java字符串操作示例程序
十个Java字符串操作示例程序
5 1
|
7天前
|
存储 JavaScript Java
Java中未被初始化的字符串打印出“null”?
在Java中,未初始化的`String`变量默认值为`null`。打印此类变量时输出“null”,是因为`PrintStream`类中的`print`方法特别处理了`null`值,将其转换为字符串“null”。从JDK 17开始,`println`方法通过`String.valueOf`间接实现相同功能。当拼接包含`null`的字符串时,如`s1 + "BLACK"`,结果为“nullBLACK”,这是因为字符串构建过程中`StringBuilder`的`append`方法将`null`转换为“null”。
|
5天前
|
Java
Java中 字符串,字符串数组,整型数组初始化
Java中 字符串,字符串数组,整型数组初始化
6 0
|
1月前
|
Java
Java 替换字符串 replace replaceAll
【7月更文挑战第10天】Java 替换字符串 replace replaceAll
Java 替换字符串 replace  replaceAll
|
1月前
|
Java API 索引
Java中的字符串与字符操作详解
Java中的字符串与字符操作详解
|
2月前
|
Java 程序员
程序员必知:【java】判断字符串是否整数的三种方式,孰优孰劣请自行判断
程序员必知:【java】判断字符串是否整数的三种方式,孰优孰劣请自行判断
70 3
|
2月前
|
Java
java字符串分割split你用对了吗
java字符串分割split你用对了吗
20 1