JAVA API Object String String StringBuffer/StringBuilder

一.API

    API目的是提供应用程序与开发人员基于某软件可以访问的一些功能集

   API是一种通用功能集,有时公司会将AP作为其公共开放系统,也就是公司制定自己的系统接口标准,公司所有成员都可以通过该接口标准调用源代码

二.Object

   1.概念 

      Object类是所有java的祖先,也就是我们说的顶级父类

      它存在于java.long.Object这个包不需要我们手动导包

      需要注意的是:每个类Object作为超类,所有对象(包括数组)都实现这个类的方法

      在不明确超类的情况下,java会自动把object作为定义类的超类

2.常用方法介绍

       toString()

         本方法用于返回对应对象的字符串表示

       hashCode()

        本方法用于返回对应对象的哈希码值

        有时候会出现不同对象哈希码值相同的情况,我们称为哈希碰撞

       equals()

        本方法用于指示其他某个对象是否与当前对象相等

二.String

     1.特点

       String是一个封装char【】数组的对象,字符串不可变

    2.创建String对象的方式

      方式一:

         String(char【】 value)分配一个新的String,使其表示字符数组包含的字符序列

     方式二:

         String str=“abc”

  1. 如果是第一次使用字符串,java会在字符串堆中常量池创建一个对象。
  2. 再次使用相同的内容时,会直接访问堆中常量池中存在的对象。

三.StringBuilder/StringBuffer 

     1.特点

         1.封装的char数组

         2.是可变的字符序列

         3.提供了一组可以对字符内容修改的方法

         4.常用append()来代替字符串做字符串连接“+”

        5.内部字符数组默认的初始容量是16:super(str.length()+16)

        6.如果大于16会尝试将扩容,新数组大小原来的变成2倍+2,容量如果还不够,直接扩充到需要的容量大小。int newCapacity = value.length * 2 + 2;

        7.StringBuffer 1.0 出道线程安全,StringBuilder1.5 出道线程不安全

四.==和equals的区别

      1.当用==比较时,如果想比较的两个变量是引用类型,那么比较的是两者物理地值,

  如果想比较的两个变量是数值类型,那么比较的是数值是否相等

     2.当使用equals()方法进行比较时,比较结果实际上取决于equals()方法的具体实现

五.StringBuilder和StringBuffer的区别

    1.在线程安全上:

         StringBuffer是旧版本提供的 是安全的

         StringBuider是jdk1.5后产生,线程不安全

    2.在执行效率上StringBuilder>StringBuffer>String

    3.源码体现:本质上都是在调用父类抽象类AbstractStringBuilder来干活,只不过Buffer把代码加了同步关键字,使得程序可以保证线程安全问题

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值