javase-----(6)常见API注意点

目录

常见API注意点

【一】String类、StringBuilder、StringBuffer

String类

String  str=”hello” 和String str= new String(“hello”)的区别

比较方法=

StringBuilder

StringBuilder的常见的方法

String,StringBuilder,StringBuffer三者的区别

各自的用处

【二】Number & Math

包装类

Math

【三】Character

【四】Arrays 类

【五】日期时间

Date

SimpleDateFormat 格式化日期

Calender 

【六】链接


常见API注意点

【一】String类、StringBuilder、StringBuffer

  • String类

String(String original):把字符串数据封装成字符串对象

String(char[] value):把字符数组的数据封装成字符串对象

String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象

 

  • String  str=”hello” 和String str= new String(“hello”)的区别

String str = “hello”;这个是直接在方法区中的常量池中直接开辟空间,存放数据,将空间的地址返回给str

String str = new String(“hello”);这个是先在堆内存中申请一个内存,在将“hello”数据存放在方法区中的常量池中

整个流程如下图

String str = "hello";

String str2 = new String("hello");

str==str2  (结果为false) 

==是直接比较的两个对象地址

str指向的地址为方法区中常量池中的地址,而str2是指向java堆中为new String ()开辟的一段地址
  • 比较方法=

如果比较的是基本数据类型,==是比较的数据值

如果比较的是应用数据类型,==是比较的地址值

 

  • StringBuilder

是一个可变的字符串。字符串缓冲区类。  

String和StringBuilder的区别:String的内容是固定的,StringBuilder的内容是可变的

由于执行字符串的拼接过程,是需要在方法区中的常量池中再定义一个变量,在将新的变量地址赋给它,所有就会产生一些垃圾数据,所以要出现StringBuilder

 

  • StringBuilder的常见的方法

 A:构造方法:

  StringBuilder()
  B:成员方法:

public int capacity():返回当前容量 (理论值)

public int length():返回长度(已经存储的字符个数)

public StringBuilder append(任意类型):添加数据,并返回自身对象

public StringBuilder reverse():反转功能

 

1. 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String

2. 再来说线程安全在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的

3. 如果一个StringBuffer对象在字符串缓冲区被多个线程使用时,StringBuffer中很多方法可
以带有synchronized关键字,所以可以保证线程是安全的,但StringBuilder的方法则没有该关键字,
所以不能保证线程安全,有可能会出现一些错误的操作。所以如果要进行的操作是多线程的,
那么就要使用StringBuffer,但是在单线程的情况下,还是建议使用速度比较快的StringBuilder
  • 各自的用处

String:适用于少量的字符串操作的情况

StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况

StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况

【二】Number & Math

  • 包装类

  • Math

Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。

Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。

【三】Character

Character 类用于对单个字符进行操作。

Character 类在对象中包装一个基本类型 char 的值

【四】Arrays 类

【五】日期时间

  • Date

java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。

第一个构造函数使用当前日期和时间来初始化对象。

public class DateDemo {
   public static void main(String args[]) {
       // 初始化 Date 对象
       Date date = new Date();
        
       // 使用 toString() 函数显示日期时间
       System.out.println(date.toString());
   }
}

  • SimpleDateFormat 格式化日期

import  java.util.*;
import java.text.*;
 
public class DateDemo {
   public static void main(String args[]) {
 
      Date dNow = new Date( );
      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
 
      System.out.println("当前时间为: " + ft.format(dNow));
   }
}

  • Calender 

【六】链接

https://www.runoob.com/java/java-date-time.html

上一章:面向对象的注意点

下一章:static和代码块注意事项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值