JavaSE学习笔记_11:Java-字符串类

Java-字符串类

 

温馨提示:字符串类中方法涉及到范围的都只包含头不包含尾。涉及到位置都是第一次出现的位置。

 

可以打印任意类型的数据:

public void sop(Object o)

{

System.out.println(o);

}

1、String类

字符串是String类的实例,字符串的格式:“...”。

 

字符串一旦在内存中开辟空间,它的值就不会被改变,且不会在重复开辟空间。如“abc”。它可以赋值给多个String

类型的变量,这些变量就指向“abc”。注意:这些变量的值不是地址,应该与引用型变量进行区分。变量的值就是“abc”。

 

String类中有一个方法,叫equals(String s);比较字符串内容。

String s1=“abc”;

String s1=“abc”;

此时s1.equals(s2)为true;等价于(s1==s2)?true

但是特殊:

(面试)

Stirng s1=“abc”;

String s2=new String(“abc);

s1和s2的区别?

 s1在内存中有一个对象。

 s2在内存中有两个对象。

此时s1.equals(s2)为true;不等价于(s1==s2)?false

 

 

创建String类对象的方法:

String s=new String(“abc”);

 

Char[] c=new char[6];

String s=new String(c);

 

String s=“abc”;

 

 

 

String类中常见的方法:

(1)获取

int length();

 

char charAt(int index);

 

int indexof(int ch);

int indexof(int ch,int fromIndex);

 

int indexof(String str);

int indexof(String str,int fromIndex);

 

int lastIndexof(int ch);

(2)判断

boolean contains(str);

 

boolean isEmpty();

 

boolean starSwitch(str);

 

boolean endSwitch(str);

 

boolean equals(str);

boolean equalsIgnore(str);

(3)转换

字符数组和字符串之间的转换:

String(char[] c);

String(char[] c,offset,count);

 

static String copyValueOf(char[]);

static String copyValueOf(char[],offset,count);

 

Char[] toCharArray();

 

字节数组和字符串之间的转换:

String(byte[] c);

String(byte[] c,offset,count);

 

byte[] getBytes();

 

基本数据类型和字符串之间的转换:

static String valueOf(int );

static String valueOf(double);

 

(插入):

基本数据类型对象包装类。

对象

byte

Byte

short

Short

int

Integer

long

Long

boolean

Boolean

float

Float

double

Double

char

Character

基本数据类型转成字符串:

基本数据类型+“”

基本数据类型.toString(基本数据类型值);

如:Integer.toStirng(34);//将整数34变成“34”。

 

数格式的字符串转成基本数据类型。

xxx a=Xxx.parseXxx(String);

如:int num=Integer.parseInt(“123”);

 

其实这句话等价于:

Integer i=new Integer(“123”);

int num=i.intValue();

 

 

十进制整型与其他进制之间的转化:

十进制转成其他进制:

Integer.toBinayString(6);//获取6的二进制形式。

Integer.toHexString(60);

 

其他进制转化成十进制:

int x=Integer.parseInt(“3c”,16);//将十六进制3c转换成十进制

 

 

Jdk1.5版本以后基本数据类型对象包装类新特性:

① 自动装箱

Integer x=new Integer(4);

Integer x=4;

② 自动拆箱

Integer x=new Integer(4);//x是类类型

x=x+4;//x是int类型

 

Ps:

Integer m=128;

Integer n=128;

S.o.p(m==n);false

 

Integer m=127;

Integer n=127;

S.o.p(m==n);true

 

(4)其他

将字符串转成大写或者小写

String toUpperCase();

String toLowerCase();

 

将字符串两端的多个空格去掉

String trim();

 

对两个字符串进行自然顺序比较。

int compare(String);

对应位置上的字符进行比较,知道两个字符不相等。

返回的是对应位置上字符的差值。

 

2、StringBuffer

它是一个容器。

(1)长度是可变化的。

(2)可以直接操作多个数据类型。

(3)打印时可以通过它的对象调用toString()变成字符串。或者直接打印对象。结果是字符串。

 

该类中的方法:

(1)存储

StringBuffer append();

(2)删除

StringBuffer delete(star,end);

StirngBuffer deleteCharAt(index);

(3)获取

char charAt(int index);

int indexOf(Stirng str);

int lastIndexOf(Strig str);

int length();

String subStirng(int start,int end);

(4)修改

StringBuffer replace(start,end,String);

Void setCharAt(int index,char ch);

 

(5)反转

StringBuffer reverse();

 

(6)将容器中指定的数据存到指定数组中

Void getChars(int srcBegin ,int srcEnd,char[] chs,int chsBegin);

 

3、StringBuilder

约等于StringBuffer。

StringBuilder:线程不同步。Jdk1.5版本开始

StringBuffer:线程同步。

 

 

 

2015-12-052015-12-07

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值