stringbuffer常用方法_java 常用类

1. Object类

Object类位于java.lang包中,java.lang包包含着Java 基础和核心的类,在编译时会自动导入;Object类是 所有Java类的根基类,如果在类的声明中未使用extends 关键字指明其基类,则默认基类为Object类

public class Person { 
}
public class Person extends Object {
}

1.1. toString方法

  • Object类中定义有public String toString()方法,其返 回值是 String 类型,描述当前对象的有关信息。
  • 在进行String与其它类型数据的连接操作时(如: System.out.println(“info”+person)),将自动调用该 对象类的 toString()方法
  • 可以根据需要在用户自定义类型中重写toString()方 法。

1.2. equals方法

  • Object类中定义有:public boolean equals(Object obj)方法提供定义对象是否“相 等”的逻辑。
  • Object 的 equals 方法 定义为:x.equals (y) 当 x 和 y是同一个对象的应用时返回 true 否则返回 false
  • JDK提供的一些类,如String,Date等,重写了Object 的equals方法,调用这些类的equals方法,x.equals (y) ,当x和y所引用的对象是同一类对象且属性内容相 等时(并不一定是相同对象),返回 true 否则返回 false。
  • 可以根据需要在用户自定义类型中重写equals方法

2. 包装类

JAVA并不是纯面向对象的语言。Java语言是一个面 向对象的语言,但是Java中的基本数据类型却是不面向 对象的。但是我们在实际使用中经常需要将基本数据转 化成对象,便于操作。比如:集合的操作中。例如使用 Map对象要操作put()方法时,需要传入的参数是对象而 不是基本数据类型。为了解决这个不足,在设计类时为 每个基本数据类型设计了一个对应的类进行代表,这样 八个和基本数据类型对应的类统称为 包装类(Wrapper Class)

327913cb0b2a35191326e12eea0037d6.png

在这八个类名中,除了IntegerCharacter类 以后,其它六个类的类名和基本数据类型一直,只是类 名的第一个字母大写即可。

2.1 自动装箱和拆箱?autoboxing, unboxing

就是将基本类型和包装类进行自动的互相转换。JDK5.0 后,将自动装箱/拆箱引入java中。

自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。
自动拆箱的过程:每当需要一个值时,被装箱对象中的值就 被自动地提取出来,没必要再去调用intValue()和 doubleValue()方法。

3. 字符串相关类

3.1. String类

一个不可变的字符序列(字符串)

3.1.1. String对象的创建

我们可以通过不同的形式构建String的对象,常见的是 字符串常量的形式,直接使用一对"" 即可,也可以通 过构造器的方式,还可以通过字符数组和字节数组的形 式来构建

c1d36bafd314b9044f2c57035aee5fcc.png
String str1 = "Wow"; 
String str2 = new String("Great"); 
char[] = {'N','i','c','e'}; 
String str3 = new String(ws); 
byte[] words = {71, 111, 111, 100}; 
String str4 = new String(words);

3.1.2. 常用操作

String中有一个方法 length() , 返回|获取字符串中的 字符个数

String类的下述方法能创建并返回一个新的String对象: concat, replace, substring, toLowerCase, toUpperCase, trim

提供查找功能的有关方法: endsWith, startsWith, indexOf,,lastIndexOf

提供比较功能的方法: equals, equalsIgnoreCase, compareTo

其它方法: charAt ,length

public static String valueOf(…)可以将基本类 型数据转换为字符串

3.2. StringBuer和StringBuilder

StringBuer和StringBuilder非常类似,均代表可变的 字符序列,而且方法也一样。 (StringBuilder被设计用作 StringBuer 的一个简易替换,建议优先采用该类,因为 在大多数实现中,它比 StringBuer 要快。)

StringBuer类的常见构造方法

StringBuffer()//创建一个不包含字符序列的“空”的 StringBuffer对象。 
StringBuffer(String str)//创建一个StringBuffer对 象,包含与String对象str相同的字符序列。

public StringBuilder append(…)方法

可以为该StringBuilder 对象添加字符序列,返回添加后 的该StringBuilder对象引用。

public StringBuilder delete(int start,int end)方法

可以删除从start开始到end-1为止的一段字符序列,返回 修改后的该StringBuilder对象引用。

public StringBuilder deleteCharAt(int index)方法

移除此序列指定位置上的 char。

public StringBuilder insert(…)方法

可以为该StringBuilder 对象在指定位置插入字符序列, 返回修改后的该StringBuilder对象引用

public StringBuilder setCharAt(int index,char ch) 设置指定位置

和 String 类含义类似的方法

public int indexOf(String str)

public int indexOf(String str,int fromIndex)

public String substring(int start)

public String substring(int start,int end)

public int length()

char charAt(int index)

public StringBuilder reverse()方法

用于将字符序列逆序,返回修改后的该StringBuilder对象 引用。

public String toString()方法

返回此序列中数据的字符串表示形式。

2 3.3. String和StringBuer和StringBuilder 使用要点

String使用的陷阱:String一经初始化后,就不会再改变 其内容了。对String字符串的操作实际上对其副本(原始拷 贝)的操作,原来的字符串一点都没有改变。

String s="a"; //创建了一个字符串 
s=s+"b"; //实际上原来的"a"字符串对象已经丢弃了,现在 又产生了一个字符串s+"b"(也就是"ab")。

如果多次执行这些改变串内容的操作,会导致大量副本 字符串对象存留在内存中,降低效率。如果这样的操作 放到循环中,会极大影响程序的性能。

相反,StringBuer类是对原字符串本身操作的,可以对 字符串进行修改而不产生副本拷贝。可以在循环中使 用

String:不可变字符序列

StringBuer:可变字符序列,并且线程安全,但是效率 低

StringBuilder:可变字符序列,线程不安全,但是效率 高(一般用他)

4. 时间处理相关类

4.1. pre8常用日期相关类

在标准Java类库中包含一个Date类。它的对象表示一 个特定的瞬间,精确到毫秒。

Date分配一个Date对象,并初始化此对象为当前的日期 和时间精确到毫秒。

Date 分配 Date 对象并初始化此对象,以表示自从标准 基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

ac3d4eb41fc3d9e8f8293eb562995814.png

4.1.1. 当前时间

//当前毫秒数 
long timeNum =System.currentTimeMillis(); 
System.out.println(timeNum); //当前日期 
Date nowDate =new Date(); 
System.out.println(nowDate);

4.1.2. Date

//0 时间点  东八区 1970年1月1日 08:00:0 
Date date =new Date(0L); 
System.out.println(date); //指定一个时间 
Date myDate =new Date(189712329239L); 
System.out.println(myDate); 
System.out.println(myDate.getTime()); //获取长 整型数字 //修改时间 myDate.setTime(0L); 
System.out.println(myDate);

5. Math类

java.lang.Math 提供了一系列静态方法用于科学计 算;其方法的参数和返回值类型一般为 double 型。

System.out.println(Math.abs(-10));  //10 
System.out.println(Math.pow(3, 2)); //9.0 
System.out.println(Math.max(21, 12));//21 
System.out.println(Math.sqrt(9));   //3.0 
System.out.println(Math.ceil(15.2));  //16.0 
System.out.println(Math.floor(9.9));  //9.0 
System.out.println(Math.ceil(-15.2));  //-15.0 
System.out.println(Math.floor(-9.9));  //-10.0

6. File类

java.io.File类:文件和目录路径名的抽象表示形式。

File 类的常见构造方法:public File(String pathname)

以 pathname 为路径创建 File 对象,如果 pathname 是 相对路径,则默认的当前路径在系 统属性user.dir 中 存储。 File 的静态属性 separator 存储了当前系统的 路径分隔符。

文件夹 与文件 都抽象为File,构建 File 的方式

File(String pathname)  
File(File parent, String child)  
File(String parent, String child) 

分割符:静态常量

  • 路径分隔符: ; pathSeparator
  • 目录分隔符: / separator

常见方法

public boolean canRead()     
public boolean canWrite()     
public boolean exists()       
public boolean isDirectory()     
public boolean isFile()       
public boolean isHidden()     
public long lastModified()   
public long length() 
public String getName()       
public String getPath() 
public String getAbsolutePath() 
public boolean createNewFile() 
public boolean mkdir() 
public boolean mkdirs() 
public boolean delete()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值