深入理解java的String(基础篇)

String类在java.lang包中,java.lang包中的类是默认被引入的

1. 构造字符串对象

常用的构造字符串的方法有以下几种:

//方法一
String a = "apple";

//方法二
String b = new String("apple");

//方法三 使用字符数组创建String对象
char[] arr = {'a','p','p','l','e'};
String c =new String(arr);

//在数组arr中,从下标0开始提取,提取三个字符
String d = new String(arr,0,3);

//方法四 用已知对象创建另一个
String d = new String(b);

 

2. String 类的常用方法

  1. public int length() :获取一个字符串的长度
  2. public boolean startsWith(String s) : 判断当前字符串的前缀是否是参数s的字符串
  3. public boolean endsWith(String s) : 判断当前字符串的后缀是否是参数s的z字符串
  4. public boolean contains(String s) : 判断当前字符串对象是否含有参数s字符串
  5. public int compareTo(String s): 按照字典序与参数s比较大小(如“ab”和"ac","ac"字符串大),如果当前字符串与s相同,返回值为0;大于s,返回正值;小于s返回负值
  6. public int compareToIgnoreCase(String s): 和上面查不到,只是忽略了大小写比较
  7. public int indexOf(String s,int startpoint) : 从startpoint位置开始检索,返回第一次出现s字符串的位置,如果没有返回-1。索引位置是从0开始的, startpoint参数可以省略,,默认从头开始。
  8. public int lastIndexOf(String s) : 返回最后出现s的索引位置,如果没有,返回-1.
  9. public String subString(int start,int end) : 返回一个从当前字符串 start位置到end-1位置的字符串,初始位置从0开始。
  10. public String trim() : 返回当前字符串去掉前后空格的字符串。(在用户登录时可以用到)

3. 字符串与基本数据类型的相互转化

1.字符串转基本型

   可以调用基本型类中的函数实现转换,例如:

public static int parseInt(String s) throws NumberFormatException
public static float parseFloat(String s) throws NumberFormatException
public static double parseDouble(String s) throws NumberFormatException

2. 基本类型转字符串

可以使用String类中的函数实现,例如:

  1. public static String valueOf(int n)
  2. public static String valueOf(float n)
  3. public static String valueOf(double n)

4. 对象的字符串表示

Object类是所有类的父类或间接父类,Object类有一个public String toString()方法,对象那个可以调用该方法获得该对象的字符串表示。一个对象调用toString()方法返回的字符串一般形式为:

            创建对象的类的类名@对象的引用的字符串表示

注意:上面是默认形式,其他类可以重写toString()方法。比如,String类就重写了,所以当你System.out.println(s);得到的是字符串中的内容;同样Date类也重写了toString()方法,输出的是时间的字符串。

5. 字符串转化为字符数组

public void getChars(int start,int end,char[] c,offset) : 将当前字符串的一部分字符复制到参数c指定的数组中。将字符串中从位置start到end-1位置的字符复制到数组c中,且从数组c的offset处开始存放这些字符。

另外,还有个简便的方法:public char[] toCharArray()   :将字符串中的全部字符存放在一个字符数组中。

另外推荐两篇相关文章:

关于String字符串在内存中的存储形式:https://blog.csdn.net/qq_36923376/article/details/84590825

关于String的equals方法:https://blog.csdn.net/qq_36923376/article/details/83652958

猜你喜欢

转载自blog.csdn.net/qq_36923376/article/details/84635247