黑马程序员:Java中的字符串
来源:互联网 发布:买个域名可以不备案吗 编辑:程序博客网 时间:2024/05/23 19:17
------- android培训、java培训、期待与您交流! ----------
一、String
字符串是一个特殊的对象。
字符串一旦初始化就不可以被改变。创建字符串:
String str = "abc";
String str1 = new String("abc“);两者的区别;str在内存中有一个对象,str1在内存中有两个对象。
二、字符串中的方法
1、获取
1)字符串中包含的字符数,也就是字符串的长度:
int length();2)根据位置获取位置上的字符:
char charAt(int index);3)根据字符获取该字符串的位置:
int indexOf(int ch); //返回的是ch在字符串中第一次出现的位置int indexOf(int ch,int fromIndex);//从fromIndex指定的位置开始,获取ch在字符串中出现的位置。int indexOf(String str); //返回的是str在字符串中第一次出现的位置int indexOfString str,int fromIndex);//从fromIndex指定的位置开始,获取str在字符串中出现的位置。2、判断
1)字符串中是否包含一个子串。
boolean contains(str);2)字符串中是否有内容。
boolean isEmpty();3)字符串是否是以指定内容开头。
boolean startWith(str0;4)字符串是否是以指定内容结尾。
boolean endsWith(str);5)判断字符串中的内容是否相同,并忽略大小写
boolean equalsIgnoreCase();例;3、字符串的转换
1)将字符数组转换成字符串
构造函数;String (char[])String(char[],offset,count);//将字节数组中的一部分转换成字符串静态方法:static String copyValueOf(char[] data,int offset, int count);static String copyValueOf(char[]);static String valueOf(char[]);2)讲字符串转换成字符数组
char[] toCharArray();3)将字节数组转换成字符串
String (byte[]);String(byte[],offset,count);4)将字符串转换成字节数组
byte[] getBytes();5)将基本类型转换成字符串
static String valueOf(int);static String valueOf(double);特殊:字符串和字符数组转换过程中,是可以指定编码表的。4、替换
String replace(oldchar,newchar);//如果替换的字符串不存在,返回的还是原字符串5、切割
String[] split(regex);6、子串,获取字符串中的一部分
String sunstring(begin);//从指定位置开始到结尾,如果不存在,会出现字符串角标异常。String substring(begin,end);7、转换,去空格,比较
1)将字符串转换成大写或小写
String toUpperCase();String toLowerCase();2)将字符串两端的多个空格去除。
String trim();3)对两个字符串进行自然顺序比较。
int compareTo(string);练习;获取一个字符串在另一个字符串中出现的次数
package com.java;/** * * @author wangxuan * 获取一个字符串在另一个字符串中出现的次数 * */public class StringTest {/** * @param args */public static int getsubCount(String string,String key){int count = 0;int index = 0;while((index=string.indexOf(key))!=-1){sop("string="+string);string=string.substring(index+key.length());count++;}return count;}public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args) {// TODO Auto-generated method stubString string = "qweeeertyuiopasdfghjklzxcvbnm";sop("count="+getsubCount(string, "ee"));}}
输出结果为:string=qweeeertyuiopasdfghjklzxcvbnm
string=eertyuiopasdfghjklzxcvbnm
count=2
三、StringBuffer
StringBuffer 是字符串缓冲区,是一个容器。StringBuffer类的构造方法1)StringBuffer()
使用该无参数的构造方法创建一个StringBuffer对象,分配给该对象的实体的初始容量可以容纳16个字符,当该对象的实体存放的字符序列的长度大于16时,实体的容量自动增加,以便存放增加的字符。2)StringBuffer(int size)
使用该构造方法创建一个StringBuffer对象,指定实体的初始容量为参数size指定的字符个数,当实体存放的字符序列的长度大于size时,实体的容量自动增加,以便存放所增加的字符。3)StringBuffer(string s)
使用该构造方法创建一个StringBuffer对象,指定配实体的初始容量为参数字符串s的长度再加16个字符。当该对象的实体存放的字符序列的长度大于size时,实体的容量自动增加,以便存放增加的字符。StringBuffer类常用的方法
1)append
将其他java类型数据转换成为字符串后再追加到StringBuffer对象中。2)char charAt(int n)
得到参数n指定的位置上的单个字符。当前对象实体中的字符串序列的第一个位置为0,第二个位置为1,以此类推。n的值必须是非负的一个数。
3)void setCharAt(int n,char ch)
将当前StringBuffer对象实体中的字符序列位置n处的字符用参数ch指定的字符替换。n必须是非负的,并且小于当前字符串长度。4)StringBuffer insert(int index,String str)
insert方法将一个字符串插入实体中,并返回当前对象的引用。5)public StringBuffer reverse()
StringBuffer对象使用reverse()方法将该对象实体中的字符序列翻转,并返回当前对象的引用。6)StringBuffer delete(int startIndex,int endIndex)
从当前StringBuffer对象实体中的字符序列中删除一个子序列,并返回当前对象的引用。startIndex指当前需删除的第一个字符下标,endIndex指定需删除的最后一个字符的下一个字符的下标。需要删除的子字符串从startIndex到endIndex-1。7)StringBuffer replace(int startIndex,int endIndex,String str)
将当前StringBuffer对象实体中的字符序列的一个子序列用参数str指定的字符串替换。被替换的子序列由下标startIndex和endIndex指定,即从startIndex到endIndex-1的序列被替换。该方法返回StringBuffer对象的引用。例:package com.java;public class StringBufferDemo {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubStringBuffer stringBuffer= new StringBuffer("hello world");stringBuffer.insert(0, "java:");stringBuffer.setCharAt(10, ',');System.out.println(stringBuffer);stringBuffer.append("!");System.out.println(stringBuffer);stringBuffer.reverse();System.out.println(stringBuffer);}}
输出结果为:java:hello,world
java:hello,world!
!dlrow,olleh:avaj
四、StringBuilder
此类提供一个与StringBuffer兼容的API。
与StringBuffer的不同之处;StringBuffer是线程同步,线程安全的。StringBuilder是线程不同步的,线程不安全的。多线程用StringBuf,单线程用StringBuilder
0 0
- 黑马程序员:Java中的字符串
- 黑马程序员—Java中的字符串浅析
- 黑马程序员——JAVA中的字符串
- 黑马程序员--java字符串
- 黑马程序员_java中的字符串
- 黑马程序员-java字符串总结
- 黑马程序员------------------Java基础----------------字符串
- 黑马程序员-JAVA中的反射
- 黑马程序员 java中的多线程
- 黑马程序员--java中的反射。
- 黑马程序员--java中的注解
- 黑马程序员-java中的数组
- 黑马程序员-java中的枚举
- 黑马程序员 java中的多线程
- 黑马程序员---java中的反射
- 黑马程序员:Java中的注解
- 黑马程序员------java中的集合
- 【黑马程序员】java中的IO
- 转载json链接
- Ubuntu goagent 安装
- java 如何将byte中的有效长度转换为String
- CentOS 6.4 服务器版安装
- 二维数组和指针
- 黑马程序员:Java中的字符串
- 深入理解gtest C/C++单元测试经验谈
- (unix网络编程)tcp回射程序二:避免僵尸进程
- 通过初始化及但设备检测流程
- 一步一步写算法(之单向链表)
- 一个简单的邮件发送开发
- 初始化RF碰撞避免
- linux下的图形操作环境
- cvLoadImage