上一篇地址:持续总结中!2024年面试必问 100 道 Java基础面试题(二十一)-CSDN博客
四十三、String属于基础的数据类型吗?
在Java中,String不属于基础数据类型(也称为原始数据类型或内置数据类型),而是属于对象类型。
基础数据类型
Java的基础数据类型包括以下几种:
-  整型: - byte(8位)
- short(16位)
- int(32位) - 默认的整数类型
- long(64位)
 
-  浮点型: - float(32位)
- double(64位) - 默认的浮点数类型
 
-  字符型: - char(16位)
 
-  布尔型: - boolean- 只有两个可能的值:- true和- false
 
这些基础数据类型在Java中都有对应的包装类(如Integer、Double、Character等),但包装类是对象类型,不是基础数据类型。
String 类型
 
- String是一个引用类型,它在Java中表示文本。- String类位于- java.lang包中,是Java的核心类之一。
- String对象是不可变的,这意味着一旦创建,它们的值就不能被改变。对- String对象的所有修改都会产生一个新的- String对象。
- String类型在Java中非常特殊,它重写了- Object类的- equals()和- hashCode()方法,以提供基于内容的比较而不是基于对象引用的比较。
示例代码
public class StringExample {public static void main(String[] args) {String str1 = "Hello";String str2 = "World";String str3 = str1 + " " + str2; // 创建了一个新的String对象// 基础数据类型int num = 10;double pi = 3.14;// String是对象类型str1.equals(str2); // 比较内容str1 == str2; // 比较引用是否相同}
}在这个示例中,str1、str2和str3都是String类型的对象。通过+操作符连接字符串时,实际上是创建了一个新的String对象。而num和pi是基础数据类型的变量。
总结来说,String不是Java中的基础数据类型,而是属于对象类型。理解String和基础数据类型之间的区别对于编写正确的Java程序非常重要。
四十四、String类的常用方法都有哪些?
String 类在 Java 中是一个非常强大且常用的类,它提供了一系列的方法来操作字符串。以下是一些 String 类的常用方法:
-  length(): 返回字符串的长度。
-  charAt(int index): 返回指定索引处的字符。
-  substring(int beginIndex): 返回一个新字符串,它是原字符串从指定位置开始的子串。
-  substring(int beginIndex, int endIndex): 返回一个新字符串,它是原字符串从beginIndex到endIndex - 1(不包括endIndex)的子串。
-  equals(Object another): 检查字符串是否与另一个对象相等。如果是String对象,会比较字符串的内容。
-  equalsIgnoreCase(String another): 检查字符串是否与另一个字符串相等,忽略大小写。
-  startsWith(String prefix): 检查字符串是否以指定的前缀开始。
-  endsWith(String suffix): 检查字符串是否以指定的后缀结束。
-  contains(CharSequence s): 检查字符串是否包含指定的字符序列。
-  indexOf(int ch): 返回字符串中第一次出现的指定字符的索引。
-  lastIndexOf(int ch): 返回字符串中最后一次出现的指定字符的索引。
-  replace(char oldChar, char newChar): 将字符串中的所有指定字符替换为另一个字符。
-  replaceAll(String regex, String replacement): 使用正则表达式替换字符串中的匹配子串。
-  replaceFirst(String regex, String replacement): 使用正则表达式替换字符串中的第一个匹配子串。
-  toLowerCase(): 将字符串转换为小写。
-  toUpperCase(): 将字符串转换为大写。
-  trim(): 去除字符串两端的空白字符。
-  split(String regex): 使用正则表达式将字符串分割成数组。
-  concat(String str): 将指定字符串连接到此字符串的结尾。
-  valueOf(Object obj): 将任意对象转换为字符串形式。
-  format(String format, Object... args): 使用java.util.Formatter的规则生成并格式化字符串。
-  equalsIgnoreCase(String another): 比较两个字符串是否相等,忽略大小写。
-  isEmpty(): 检查字符串是否为空。
-  hashCode(): 返回字符串的哈希码值。
示例代码
public class StringMethodsExample {public static void main(String[] args) {String greeting = "Hello, World!";String upperCase = greeting.toUpperCase(); // "HELLO, WORLD!"String lowerCase = greeting.toLowerCase(); // "hello, world!"int length = greeting.length(); // 13char charAt = greeting.charAt(0); // 'H'String subString = greeting.substring(0, 5); // "Hello,"boolean startsWithHello = greeting.startsWith("Hello"); // trueboolean endsWithExclamation = greeting.endsWith("!"); // trueString replaced = greeting.replace("Hello", "Hi"); // "Hi, World!"String[] words = greeting.split(",\\s*"); // ["Hello", "World!"]}
}在这个示例中,我们创建了一个 greeting 字符串,并使用 String 类的多个方法来演示它们的作用。这些方法覆盖了字符串操作的许多基本需求,从大小写转换、子串、字符查找到字符串比较等。
String 类的方法非常多,能够处理大多数的字符串操作需求,是Java编程中不可或缺的一部分。