Java String类
来源:互联网 发布:知乎精彩问题 编辑:程序博客网 时间:2024/06/06 17:39
String s1=”abc” ;
String s2=new String(“abc”);
s1是一个类类型变量,”abc”是一个对象;
s1在内存中有一个对象
s2在内存中有两个对象
字符串最大的特点:一旦被初始化就不可以被改变。
常见的操作:
1. 获取
1.1字符串中包含的字符数,也就是字符串的长度。intlength();获取长度
1.2 根据位置获取位置上某个字符。char charAt(int index);
1.3 根据字符获取该字符在字符串中的位置 int indexof(int ch);返回的是ch在字符串中第一次出现的位置。也可以用来判断指定字符串中是否包含某字符。
2.判断
2.1 字符串中是否包含某一个子串
boolean contains(str);
2.2字符串是否有内容
boolean isEmpty() 原理:判断字符串长度是否为0
2.3 字符串是否是以指定内容开头
boolean startWith(str);
2.4 字符串是否是以指定内容结尾
boolean endWith(str);
2.5 判断字符串内容是否相同,复写了Object类中的equals()方法
boolean equals(str);
2.6 判断内容是否相同,并且忽略大小写
boolean equalsIgnoreCase();
3.转换
3.1 将字符数组转成字符串,
构造函数:String(char[] ) ;String(char[] ,offset,count):将字符数组中的一部分转成字符串.
静态方法:static String copyValueOf(char[] );
static String copyValueOf(char[]data,int offset, int count)
static String valueOf(char[]);
3.2将字符串转成字符数组
char[] toCharArray();
3.3 将字节数组转成字符串
static String copyValueOf(byte[]);
static String copyValueOf(byte[]data,int offset, int count)
3.4 将字符串转成字节数组
byte[] getByted();
3.5 将基本数据类型转换成字符串
static String valueOf(int)
static String valueOf(double)
4.替换
String replace(oldchar,newchar); 如果要替换的字符串不存在,则返回原字符串
5. 切割
String[] split(regex);
6.子串:获取字符串中的一部分
String substring(begin); //从指定位置到结尾
String substring(begin,end);//包含头,不包含尾
7.转换,去除空格,比较
7.1 将字符串转成大写或小写
String toUpperCase();
String toLowerCase();
7.2 将字符串两端的多个空格去除
String trim();
7.3 对两个字符串进行自然顺序的比较
int compareTo(string);
StringBuffer(字符串缓冲区)的特点:
字符串的组成原理就是通过该类实现的
StringBuffer可以对字符串内容进行增删
StringBuffer是一个容器
很多方法与String相同
StringBuffer是可变长度的
可以直接操作多个数据类型
最终会同过toString方法变成字符串
1. 存储:
StringBuffer append() : 将制定数据作为参数添加到已有的数据结尾处。
StringBuffer insert(ndex,数据) : 可以将数据插入到制定index位置
2. 删除
StringBuffer delete(start,end);删除缓冲区中的数据,包含头不包含尾
StringBuffer deleteCharAt(index); 删除指定位置的字符
3. 获取
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start , int end)
4. 修改
StringBuffer replace(start,end,string);
void setCharAt(int index,char ch);
5. 反转
StingBuffer reverse();
StringBuffer: 是线程同步的,但效率低
StringBuilder: 是线程不同步的,但效率高
升级的三个要素:提高效率;简化书写;提高安全性
基本数据类型对象包装类
byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Char
基本数据类型对象包装类最常见作用,就是用于基本数据类型和字符串类型之间做转换
基本数据类型转成字符串:
1. 基本数据类型+””
2. 基本数据类型对象包装类.toString(基本数据类型值);
如:Integer.toString(34); //将34整数变成”34”;
字符串转成基本数据类型:
xxx a =Xxx.parseXxx(String);
int a=Integer.parseInt(‘‘123’’)
进制转换 :
Integer.parseInt(string,radix) ;参数radix指定要转成的目的进制数
Integer x=new Integer(4) ;
Integer x=4 ; //自动装箱(new Integer(4)),等同于Integer x=new Integer(4) ;
x=x+2 ; //x进行自动拆箱(x.Value),变成了int类型,和2进行加法运算,再将和进行装箱赋给x
Integer m=128 ;
Integer n=128 ;
sop(m==n);输出false
Integer a=127 ;
Integer b=127 ;
sop(a==b);输出true,因为a和b指向了同一个Integer对象。
因为当数组在byte范围内,对于新特性如果该数值已经存在,则不会再开辟新空间。
- 【java】:java String类
- 学习java String类
- java手记---String类
- java string类详解
- JAVA String类学习
- java String 类源代码
- Java.String类
- JAVA的String 类
- java String 类细节
- Java String类总结
- java-String类
- java基础---->String类
- java String类
- JAVA的String 类
- JAVA String类详解
- JAVA string 类
- Java API String类
- java String 类详解
- MySQL数据库远程导入导出数据
- log4j详细配置
- centOS下yum安装配置samba
- Linux HAL (Hardware Abstraction Layer)的工作原理
- 查找数据库名,表名,字段名,字段属于某个表
- Java String类
- Undefined symbols for architecture i386: _OBJC_CLASS_$_ViewController 类未加载的蛋疼IDE BUG
- oracle中字符串的连接
- cocos2d-x Tests讲解三:Particle System(粒子系统)
- Android界面layout汇总
- 自动添加当前目录下的文件到vs工程
- pcap基础(三)
- AIX学员心声
- Oracle数据库order by排序之null值处理方法