String类
来源:互联网 发布:mac网游加速器 编辑:程序博客网 时间:2024/06/05 14:17
String类是字符串的描述类型
1.String的两种实例化方式
(1)String类对象直接赋值
public class StringDemo {public static void main(String[] args){String str = "hello" ;System.out.println(str);}}执行结果为 hello
(2)利用构造方法赋值
public class StringDemo {public static void main(String[] args){String str = new String ("hello");System.out.println(str);}}
两种实例化的的区别
直接赋值法:只会开辟一个堆内存,切字符串内容会自动存入对象池,以供下次使用;
构造方法:开辟另个堆内存的空间,切有一个会成为垃圾内存,且不会存入字符串池,但可以手动入池,以供下次直接使用;
一般开发中使用直接赋值,便于优化程序响应时间
2.字符串相等比较String类相等比较使用 equals()方法 A.equals(B);
但是也会有"=="比较的是数值,即比较两个对象的内存的地址数值;
3.字符串匿名对象
所有使用字符串符号("")的对象的都是String的匿名的对象。
public class StringDemo {public static void main(String[] args){String str = new String ("hello");System.out.println("hello".equals(str));}}
4.String类型的常用方法
(1)DOC文档
类的组成结构: 类中的成员(Filed)类的构造方法(Constructor)类的普通方法(Method)
(2)字符串与字符数组
构造方法为:public String (char[] value){} //将所有的字符数组变为String类对象
普通方法为:public char[] toCharArray(){} 代码为:str.toCharArray()
public class StringDemo {public static void main(String[] args){String str = "hello";char [] data = str.toCharArray();for(int i= 0 ;i<data.length; i++){System.out.print(data[i] + ".");}}}运行结果 h.e.l.l.o.(3)字节与字符串
构造方法为:public String(byte[] byte){} //将所有字节数组变为字符串
普通方法为:public byte[] getBytes(){} //将字符串变为字节数组 代码:byte [] data =str.getBytes();
public class StringDemo {public static void main(String[] args){String str = "helloworld";byte [] data = str.getBytes();System.out.print(new String(data));}}执行结果 helloworld
(4)字符串比较
public boolean equals() {} //区分大小写比较 代码:A.equals(B);
public boolean equalsIgnorCasw() {} //区分大小写比较 代码:A.equalsIgnorCasw(B);
public init compareto() {} //比较两者之间相差多少比较结果又三种(相等 结果为0;大于结果为1;小于结果为-1)代码:A.compareTo(B);
(5)字符查找
public boolean contains() {} //判断指定内容是否存在 代码:A.contains(B);
public int indexOf() {} //找到字符串的开始索引 (有多个时,只返回第一个的索引) 代码:A.indexOf(B)
public int lastindexOf() {} //从后向前查找 代码:A.lastIndexOf(B);
public boolean startsWith() {} //判断是否以B开头 代码:A.startsWith(B);
public boolean endsWith() {} //判断是否以B结尾 代码:A.endsWith(B);
public class StringDemo {public static void main(String[] args){String str = "**helloworld**"; System.out.println(str.contains("world"));System.out.println(str.indexOf("world"));System.out.println(str.indexOf("l"));System.out.println(str.indexOf("l" , 3));//从第三个索引开始查找System.out.println(str.lastIndexOf("l"));//从后向前开始查找System.out.println(str.startsWith("**" ));//判断开头是否为**System.out.println(str.endsWith("##"));//判断结尾是否为##System.out.println(str.length());//输出str的长度}}执行结果
true74410truefalse14
(6)字符串替换
public String replaceAll() {} //替换全部 代码:str.replaceAll("l","-");
public String replaceFirst() {} //替换第一个满足的值 代码:str.replaceFirst("l","-");
public class StringDemo {public static void main(String[] args){String str = "**helloworld**"; System.out.println(str.replaceAll("l","-"));//替换全部的lSystem.out.println(str.replaceFirst("l","-"));//替换第一个l}}执行结果
**he--owor-d****he-loworld**
(7)字符串拆分
public String [] spilt() {} //全部拆分
public String [] spilt( , ) {} //部分拆分
遇到不能拆的加转义字符 "\\"
public class StringDemo {public static void main(String[] args){String str = "hello world hnist"; String result[] = str.split(" ");//从" "全部拆分String result1[] = str.split(" ", 2);//从" "拆分成两个for(int i=0;i<result.length;i++){System.out.println(result[i] + ",");}for(int j=0;j<result1.length;j++){System.out.println(result1[j] + ",");}}}执行结果
hello,world,hnist,hello,world hnist,(8)字符串的截取
public String substring (int 索引值) {} //从指定索引截取到结尾
public String substring ( int 开始位置, int 截取长度) {} //j截取部位子字符串的数据
public class StringDemo {public static void main(String[] args){String str = "helloworldhnist"; String resultA = str.substring(5);String resultB = str.substring(0, 5);System.out.println(resultA); System.out.println(resultB);}}执行结果
worldhnisthello(9)其他方法、
public String toUpperCase(){} //大写
public String toLowerCase(){} //小写
public String concat(){} //字符串连接
public boolean isEmpty(){} //判断字符串长度是否为 0
public String initcap(){} //首字母大写
public class StringDemo{public static void main(String[] args){String str = "helloworld";System.out.println(str);System.out.println(initcap(str));} public static String initcap(String str){ //定义一个首字母大写的方法if(str==null||"" .equals(str)){return str ;}if(str.length()>1){return str.substring(0,1).toUpperCase()+str.substring(1) ;}return str.toUpperCase();}}
- String.String类
- String类
- String 类
- string类
- string类
- string类
- string 类
- string 类
- String类
- String类
- string类
- String类
- String类
- string类
- string 类
- String类
- string类
- string类
- 第四周项目三__单链表的应用(2)
- 注重医院患者院后随访提高医疗质量
- DDOS攻击分类
- Sed行定位的使用
- python数据类型介绍
- String类
- 在WIN64 eclipse下配置Struts2+MySQL+Tomcat(一)
- Mybatis初窥:SQL映射文件
- Uniq行定位的基础使用和sort
- ES-Hadoop学习笔记-初识
- spring中的Bean的id和name的区别
- 深层分析equals导致的异常
- 回溯法——迷宫问题
- Centos7环境下使用Nginx托管.Net Core应用程序