Java中字符串对象和基本数据类型包装类


一、String

1String类的特点:

 aJava语言中用于描述最常见的字符串数据的对象。

 b,字符串数据都是一个对象。

 c,字符串数据一旦初始化就不可以被改变了。双引号表示的都是字符串常量。 

 d,字符串对象都存储在常量池中(字符串常量池)。 

2、字符串的构造方法:一般在定义字符串时,不用new关键字。

String s1 = new String();//创建了一个空内容的字符串。 

String s2 = null;//s2没有任何对象指向,是一个null常量值。

String s3 = "";//s3指向一个具体的字符串对象,只不过这个字符串中没有内容。

String s4 = new String("abc");

String s5 = "abc";

new String(char[]);//将字符数组转成字符串。

new String(char[],offset,count);//将字符数组中的一部分转成字符串。

 

3、字符串的方法:

 

public class StringDemo {
 
/**
 * @param args
 */
public static void main(String[] args) {
定义一个字符串。
String str = "abcd";
String s1 = "abcd";//这时在常量池中创建了一个字符串对象。
System.out.println(str==s1);//true,str和s1都指向了同一个对象。
String s2 = new String("abcd");//这是在堆内存创建一个String类的对象。并在常量池创建了"abcd"对象。
System.out.println(s1);
System.out.println(s2);
System.out.println(s1==s2);//false s1和s2不是同一个对象
//对于字符串对象的比较,应该用equals方法完成。
//基本数据用==进行比较相同。 对象比较相同都用equals方法。 
System.out.println(s1.equals(s2));//String类覆盖了Object中的equals方法,比较的是字符串内容是否相同。
String s3 = "ab"+"cd";
System.out.println(s1==s3);//true.
 
}
 
}

二、StringBuffer字符串缓冲区

特点:

 a,缓冲区就是用来缓存数据,意味着它是一个容器。

 b,该容器的长度是可变的。 

 c,提供了对容器中内容的操作的方法(最多无外乎四种:增删改查.)

 d,该缓冲区中可以添加多种类型的元素,基本类型和引用类型。 

 e,无论怎么样的改变容器中的数据,最终要使用结果,还是必须要将其转成字符串,使用toString方法。

三、StringBuilder字符串缓冲区

1、含义:JDK1.5出现一个StringBuilder,区别是StringBuffer是同步的,StringBuilder是非同步的。

2、方法和StringBuffer一样

四、StringBuffer 和 StringBuilder 的区别

1StringBuffer是线程安全的。(用在多线程中)

2StringBuilder是线程不安全的。为了提高效率。 因为不用判断同步锁。(用在单线程里)

3、实际开发时,建议使用StringBuilder,只有在多线程时,才使用StringBuffer

五、StringBuffer和数组容器的区别

1,数组容器是固定长度的。

   StringBuffer是可变长度的。

2

   数组容器一旦初始化就明确了元素的类型。

   StringBuffer可以存储任意类型。包括基本和引用。

3

   数组存储完元素可以对元素进行操作(通过角标)。

   StringBuffer存储完元素后,都会变成字符串,只能用字符串的方法来操作。

六、基本数据类型对象包装类

1、是按照面向对象思想将基本数据类型封装成了对象。

2、好处:

1)可以通过对象中的属性和行为操作基本数据。

2)可以实现基本数据类型和字符串之间的转换。

3、对应的类名

   byte Byte

   short Short

   int Integer

   long Long

   float Float

   double Double

   char Character

   boolean Boolean

 

七、Integer对象

1、特性:JDK1.5以后,简化了定义方式。

Integer x = new Integer(2);可以直接写成Integer x = 2;//自动装箱。

x  = x + 3;//自动拆箱。通过intValue方法。

2、数字格式的字符串转成基本数据类型:

将该字符串封装成了Integer对象,并调用对象的方法intValue();

 

Integer i = new Integer("20");//创建一个20对象
int num = i.intValue();//将320这个对象转换成20数值。
System.out.println(num+1);//打印结果为21

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值