JAVA String类
Posted viperqy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA String类相关的知识,希望对你有一定的参考价值。
String类
String类的概述
String由多个字符组成的一串数据
字符串其本质是一个字符数组
字符串是常量,一旦被赋值就不能改变
创建字符串对象的两种方式
String s1 = new String("hello"); //构造方法 String s2 = "hello"; //直接赋值方式
其中的区别
== 的意义:
基本数据类型:比较的是基本数据类型的值是否相同
引用数据类型:比较的是引用数据类型的地址值是否相同
String类的判断方法
equals( ) 比较字符串内容是否相同
equalsIgnoreCase( )比较字符串的内容是否相同忽略大小写
startsWith( String s ) 判断字符串对象是否以 s 开头
endsWith( String s ) 判断字符串对象是否以 s 结尾
public static void main(String[] args) String s1 = "hello"; String s2 = "hello"; String s3 = "Hello"; System.out.println(s1.equals(s2)); System.out.println(s1.equalsIgnoreCase(s3)); System.out.println(s3.startsWith("hell")); System.out.println(s1.endsWith("llo"));
运行结果:
true true false true
String类的获取方法
length( )获取字符串的长度,也就是字符的个数
charAt( int index ) 获取指定索引处的字符
indexOf(String s ) 获取s在字符串对象中第一次出现的索引
substring(int start):从start开始截取字符串
substring(int start,int end):从start开始,到end结束截取字符串。【start,end)
public static void main(String[] args) String s = "hello world"; System.out.println(s.length()); System.out.println("--------------"); System.out.println(s.charAt(4)); System.out.println(s.indexOf("l")); System.out.println(s.substring(7,9)); System.out.println(s.substring(5));
运行结果:
11 o 2 or world
String类的转换方法
char[] toCharArray():把字符串转换为字符数组
String toLowerCase():把字符串转换为小写字符串
String toUpperCase():把字符串转换为大写字符串
public static void main(String[] args) //创建字符串对象 String s = "abcde"; //char[] toCharArray():把字符串转换为字符数组 char[] chs = s.toCharArray(); for(int x=0; x<chs.length; x++) System.out.println(chs[x]); System.out.println("-----------"); //String toLowerCase():把字符串转换为小写字符串 System.out.println("HelloWorld".toLowerCase()); //String toUpperCase():把字符串转换为大写字符串 System.out.println("HelloWorld".toUpperCase());
运行结果:
a b c d e ----------- helloworld HELLOWORLD
String类的其他方法
String trim() 去除字符串两端空格
String[] split(String str) 按照指定符号分割字符串
String、StringBuffer、StringBuilder类
区别:1、在这方面运行速度快慢为:StringBuilder > StringBuffer > String
String最慢的原因:String为字符串常量,而StringBuilder和StringBuffer均为字符串变量
2、在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的
3、String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
StringBuilder类的常用方法
capacity():返回当前容量 (理论值)
length():返回长度(已经存储的字符个数)
append(任意类型):添加数据,并返回自身对象
reverse() 反转字符串功能
public static void main(String[] args) //创建对象 StringBuilder sb = new StringBuilder(); System.out.println("sb:"+sb); System.out.println("sb.capacity():"+sb.capacity()); System.out.println("sb.length():"+sb.length());
运行结果:
sb: sb.capacity():16 sb.length():0
添加数据以及反转字符串
public static void main(String[] args) StringBuilder sb = new StringBuilder(); sb.append("hello"); sb.append("wordld"); //链式编程(因为sb返回的是个对象所以可以继续.方法) //sb.append("hello").append("world").append(true).append(100); System.out.println(sb); sb.reverse(); System.out.println(sb);
运行结果:
hellowordld
dldrowolleh
StringBuilder和String的相互转换
StringBuilder -- String
public String toString():通过toString()就可以实现把StringBuilder转成String
String -- StringBuilder
StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder
以上是关于JAVA String类的主要内容,如果未能解决你的问题,请参考以下文章