网站开发语言和数据库,建设公司加盟,wordpress伪静态链接链接404,公司网站制作导航1.string类属于基本类型吗#xff1f;
string类不是基本类型#xff1b;它属于引用数据类型
2.操作字符串的类有哪些?有什么区别#xff1f; 有三种#xff1a;string,stringBuilder,stringBuffer
区别#xff1a;
String:不可变类#xff0c;字符串一旦被创建就不能…1.string类属于基本类型吗
string类不是基本类型它属于引用数据类型
2.操作字符串的类有哪些?有什么区别 有三种string,stringBuilder,stringBuffer
区别
String:不可变类字符串一旦被创建就不能被修改只能被覆盖
stringBuiler:可变类非线程安全
stringBuffer:可变类线程安全
3.string中常用的api有哪些 1. **length()** 返回字符串的长度。 String str Hello, World!; int length str.length(); // length 13 2. **charAt(int index)** 返回指定索引处的字符。 String str Hello; char ch str.charAt(0); // ch H 3. **substring(int beginIndex) 和 substring(int beginIndex, int endIndex)** 返回从指定索引开始到结束的子字符串。 String str Hello, World!; String substr1 str.substring(7); // substr1 World! String substr2 str.substring(0, 5); // substr2 Hello 4. **indexOf(String str) 和 lastIndexOf(String str)** 返回指定子字符串第一次出现的索引或最后一次出现的索引。 String str Hello, World!; int index1 str.indexOf(o); // index1 4 int index2 str.lastIndexOf(o); // index2 8 5. **toUpperCase() 和 toLowerCase()** 将字符串转换为大写或小写。 String str Hello, World!; String upperCase str.toUpperCase(); // upperCase HELLO, WORLD! String lowerCase str.toLowerCase(); // lowerCase hello, world! 6. **replace(char oldChar, char newChar) 和 replace(CharSequence target, CharSequence replacement)** 替换字符或字符串。 String str Hello, World!; String replaced1 str.replace(o, x); // replaced1 Hellx, Wxrld! String replaced2 str.replace(World, Java); // replaced2 Hello, Java! 7. **startsWith(String prefix) 和 endsWith(String suffix)** 检查字符串是否以指定的前缀或后缀开始或结束。 String str Hello, World!; boolean startsWith str.startsWith(Hello); // startsWith true boolean endsWith str.endsWith(World!); // endsWith true 8. **split(String regex)** 根据给定的正则表达式拆分字符串。 String str apple,banana,orange; String[] fruits str.split(,); // fruits [apple, banana, orange 9.trim()方法用于去除字符串的空格 10.比如说 valueOf() 用于将其他类型的数据转换为字符串。 String s String.valueOf(133); 11.toCharArray():将字符串转换为对应的字符数组 4.string对象是不可变的吗为什么有什么优点?
结合源码分析 String类被final修饰该类不能被继承就是不能自定义String的子类;
成员变量value被final修饰:字符串就是以字符的形式存储在这个数组中该变量一旦被赋值后就不能指向其他的对象但是对象的内容可变;
还有就是String这个类没有对外提供对应的修改其属性value的方法;
优点
-----安全可靠字符串使用的还是相当频繁的特别是存储一些用户的密码等敏感信息不可变保证其校验通过后就不能在程序中修改后
-----线程安全不存在并发修改同一个对象的问题
2.提高性能
-----因为字符串的不可变性计算出字符串的哈希值后就可以把它缓存起来后续继续使用
-----字符串常量池的应用定义一个字符串后就会被放在常量池中可以方便复用
5.string怎么转list?list怎么转string?
将String转为list;
public class Main {public static void main(String[] args) {String str Hello World;// 创建一个空列表ListCharacter charList new ArrayList();// 将字符串转换为列表for (char c : str.toCharArray()) {charList.add(c);}System.out.println(List from String: charList);}}
将list转为String:
public class Main {public static void main(String[] args) {ListCharacter charList List.of(H, e, l, l, o);// 使用StringBuilder将字符列表转换为字符串StringBuilder sb new StringBuilder();for (char c : charList) {sb.append(c);}String str sb.toString();System.out.println(String from List: str);}}