String学习总结

String学习总结

  • 什么是String?

String类即字符串类型,并不是java的基本数据类型,但可以像基本数据类型一样使用

看下列代码,它们的值在创建后不能被更改;

public final class String
   implements java.io.Serializable, Comparable<String>, CharSequence {
   /** The value is used for character storage. */
   private final char value[];
}

因此String对象是不可变的

  • String类型怎么使用

在Java中用String类的构造方法来创建字符串变量,常用的构造方法如下:

  1. String()

一个String对象,可表示一个空字符序列

String s = new String();
  1. String(char a[])

用一个字符数组a创建String对象

char a[] = {'g','o','o','d'};
String s = new String(a);
//等价于
String s = new String("good");
  1. String(char a[],int offset,int length)

提取字符数组a中的一部分创建一个字符串对象

char a[] = {'s','t','u','d','e','n','t'};
String s = new String(a,2,4);
//等价于
String s = new String("uden");
  • String可以做些什么

使用String类的length()方法可获取声明的字符串对象的长度。

lastIndexOf()方法返回的是搜索的字符最后出现位置的索引。

使用String类的charAt()方法可获取指定索引处的字符,返回字符的索引。

还有其他方法可以查看java的API文档

注意

  • ”==“和equal()方法比较

比较运算符”==“比较的是内存位置,不适宜拿来比较字符串

equal()方法比较的两个字符串内容必须完全一样

  • StringBuilder和StringBuffer比较

StringBuilder和StringBuffer运行速度都比String要快,在单个线程中StringBuilder要比StringBuffer快,但是在多线程中StringBuilder是不安全的,这时就要使用StringBuffer类来实现。

 

posted @ 2022-03-22 14:22  jiangli001  阅读(108)  评论(0)    收藏  举报