前言:前面我们学完了类的所有事,包括类的定义使用,抽象类,普通类,接口,以及其中的属性和方法,今天就来一起学习系统提供的类,主要是学会使用,系统提供的类有很多,我们只要知道有这个方法存在,知道方法的用法,我个人觉得就Ok了!
String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。
字符串不变; 它们的值在创建后不能被更改。 字符串缓冲区支持可变字符串。 因为String对象是不可变的,它们可以被共享。
我们知道,除了8大基本数据类型,其他都是类,所以毫无疑问,String也是一个类,那么既然是类,我们要使用类,首先要做的是不是就是要创建这个类的对象呢?所以下面我们就要知道String创建对象的方法,String创建对象的重要方法主要有如下几种:
1.使用构造方法
String str1 = new String();
初始化新创建的 String对象,使其表示空字符序列。
String str2 = new String(“sdefrgth”);
初始化新创建的 String对象,使其表示sdefrgth字符序列。
2.使用字节数组 创建一个字符串
byte[] name = {'A','b','c'};
String str4 = new String(name);
System.out.println(str4);
byte[] name2 = {97,98,99};
String str5 = new String(name2);
System.out.println(str5);
3.使用字节数组的一部分 创建一个字符串
String str6 = new String(name,0,2);
System.out.println(str6);
4,使用字符数组创建一个字符串
char[] hello = {'你','好','啊'};
String h = new String(hello);
System.out.println(h);
5.使用字符数组的一部分创建一个字符串
char[] hello = {'你','好','啊'};
String h = new String(hello,1,2);
System.out.println(h);
当然我们可以直接使用字符串的创建
String str1 = "abc";
下面我们来看看一些常用方法的使用:
下面的方法中公用这些字符串
String h = "abc";
byte[] name = {'A','b','c'};
String str4 = new String(name);
byte[] name2 = {97,98,99};
String str5 = new String(name2);
获取字符串中的一个字符 charAt(int i):返回索引值为i 的字符
例子:
char c = h.charAt(0);
- 两个字符串的比较 compareTo
可以知道大小关系 0: 相同 , >0: 大于 <0:小于
int result = str4.compareToIgnoreCase(str5);
3.两个字符串的连接 concat
String nStr = str5.concat(h);
System.out.println(nStr);
4.判断一个字符串是否包含另外一个字符串 contains
boolean r = "hello".contains("lle");
System.out.println(r);
-
判断是否以某个字符串结尾
String url = "http://www.baidu.com"; if (url.endsWith(".com")){ System.out.println("网址"); } if (url.startsWith("http")){ System.out.println("http协议"); } if (url.startsWith("www",7)){ System.out.println("万维网"); }
-
两个字符串进行比较
// equalsif ("abc".equals("ABC")){ System.out.println("相同"); }else{ System.out.println("不相同"); }
7.判断一个子字符串在另外一个字符串里面的位置
// indexOf 不存在返回值为-1
String i1 = "hello Java";
int index = i1.indexOf("Javeee");
System.out.println(index);
-
获取字符串的长度
length -
获取子字符串
substring
10.将字符串转化为字符数组
toCharArray
11.将所有字符转化为小写/大写
toLowerCase / toUpperCase
- 将字符串前面和后面的空格字符删除
trim()
除了创建字符串的方法意外,其他常用的 分为“转、处、测、取、比”五类(注:省略了参数,主要是为了说明作用,且只列举了常用方法)
第一块:转换类(to开头的,以及所有的valueOf)
- toLowerCase(),将字符串转换为小写形式
- toUpperCase(),将字符串转换为大写形式
- toCharArray(),将字符串转换为字符数组(需要一个新的char[]数组来保存)
- valueOf(xxx),将xxx类型的数据转换为String类型(几乎所有的类型都可以转)
第二块:处理类(此类包含一些高级用法,比如split可以分割多个字符串)
- trim(),去除前导空白和尾部空白
- split(),对字符串进行分割
- concat(),与其他字符串进行连接(一般不常用)
- replace(),替换字符串
第三块:测试类(都返回一个boolean值)
- startsWith(),测试是否以指定的字符串开头
- endsWith(),测试是否以指定的字符串结尾
第四块:取值类(凡是区间取值的,包含from,不包含to)
- length(),返回字符串的长度(字符个数)
- subString(),返回字符串的子字符串(可指定)
- charAt(),返回字符串中指定索引处的字符
- indexOf(),返回指定字符在字符串中第一次出现处的索引值
- lastIndexOf(),返回指定字符在字符串中最后一次出现处的索引值
- getBytes(),返回字符串的编码序列(需要一个新的byte[]数组来保存)
第五块:比较类(凡是没有IgnoreCase的,都要区分大小写)
- compareTo(),以字典顺序比较字符串是否相同,区分大小写
- compareToIgnoreCase(),以字典顺序比较字符串是否相同,忽略大小写
- equals(),与指定的对象比较,若相同则返回true,区分大小写
- equalsIgnoreCase(),与另一个字符串比较,若相同则返回true,忽略大小写(注意不是与对象比较)
下面是我做的一个图,大家也可以参考参考,最重要的是找到自己的方法!
今天的内容就结束了,相比较之前的类,确实简单一些,毕竟是用用别的写好的,不需要自己写,但是要灵活运用也不是一日之功,这些你都掌握了吗?
网友评论