delphi添加类文件_常用类总结(1)-Java高级知识(2)

c13b7fab3fc685068a752a214ffa057c.png

今天给大家分享一些Java 常用类,这些常用类,就是在我们程序开发中非常的实用,使用频率也非常的高。

1. 包装类的基本用法:

1.1 为什么需要包装类?

Java并不是纯面向对象的语言。Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的。但是我们在实际使用中经常需要将基本数据转化成对象,便于操作。 比如: 集合的操作,这时,我们就需要将基本类型转化成对象。

1.2 包装类的继承关系如下:

e28b252f97ee3c8b53710f20fa68420b.png
包装类的继承关系

Character 和 Number、 Boolean 直接继承 Object。

Byte、 Short、 Integer 、Float、 Double 直接继承 Number类。

1.3 自动装箱和自动拆箱。

自动装箱:基本类型就自动地封装到与它相同的类型的包装类中。

自动拆箱:包装类对象自动转换成基本类型数据。

1.4 Integer类中的内部类IntegerCache的作用

IntegerCache: Cache 为[-128,127]的一个数组,IntegerCache有一个静态的Integer数组,在类加载时将 -128到127的 Integer对象创建了,并保存在cache数组中,一旦程序调用了valueof 方法,如果取的值是在 -128到127之间,就直接在cache缓存数组中去取Integer对象,超出范围就new一个对象。

2. String 类。

2.1 String类的底层数据结构:char类型的数组。

2.2 为什么String类的值只能被共享不能被更改?

String类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为“不可变对象”。指的是对象内部的成员变量的值无法再改变。打开String类的源码:

ac98f6c480f14a5c05dbcdfb5da01602.png
String类源码

我们发现字符串内容全部存储到value[]数组中,而变量value是final类型的,也就是常量(即只能被赋值一次)。 这就是“不可变对象”的典型定义方式。

3. StringBuffer和StringBuilder ,String类。

3.1 StringBuffer与StringBuilder的异同点是什么?

StringBuffer和StringBuilder 类相同点: 可变的字符串。

StringBuffer和StringBuilder 类不同点:

  • StringBuilder: 效率高,安全性低
  • StringBuffer:效率低,安全性高。

3.2 String与StringBuffer的异同点是什么?

相同点:都可以创建一个字符串。

(1) 不同点:简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。

(2) String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个Java字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可以把字符串设为共享的

(3) StringBuffer是线程安全的,在多线程程序中也可以很方便的进行使用,但是程序的执行效率相对来说就要稍微慢一些。

(4) StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用StringBuffer类的append方法追加字符 比 String使用 + 操作符添加字符 到 一个已经存在的字符串后面有效率得多。因为使用 + 操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大的字符串,这无凝是一个非常消耗时间的操作。添加多个字符也就意味着要一次又一次的对字符串重新分配内存。使用StringBuffer类就避免了这个问题。

3.3 String为什么称为不可变字符?

虽然String、StringBuffer和StringBuilder都是final类,它们生成的对象都是不可变的,而且它们内部也都是靠char数组实现的,但是不同之处在于,String类中定义的char数组是final的,而StringBuffer和StringBuilder都是继承自AbstractStringBuilder类,它们的内部实现都是靠这个父类完成的,而这个父类中定义的char数组只是一个普通是私有变量,可以用append追加。因为AbstractStringBuilder实现了Appendable接口。

3.4 StringBuffer与StringBuilder为什么称为可变字符?

虽然String、StringBuffer和StringBuilder都是final类,它们生成的对象都是不可变的,而且它们内部也都是靠char数组实现的,但是不同之处在于,String类中定义的char数组是final的,而StringBuffer和StringBuilder都是继承自AbstractStringBuilder类,它们的内部实现都是靠这个父类完成的,而这个父类中定义的char数组只是一个普通是私有变量,可以用append追加。因为AbstractStringBuilder实现了Appendable接口。

String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?​www.cnblogs.com

4. java.uitl.Date类

4.1 日期时间相关类有以下这些:

  • java.util.Timezone
  • java.util.Calendar
  • java.util.Date
  • java.text.DateFormat
  • java.text.SimpleDateFromat
  • java.util.GregorianCalendar

5. File类。

5.1 File类的作用。

  • 可以实现获取文件和目录属性等功能。
  • 可以实现对文件和目录的创建、删除等功能。
  • File 不能访问文件内容。

5.2 File类操作目录与文件的常用方法有哪些?

操作文件常用方法:

1.createNewFile() 创建文件

2.delete()删除文件。

1. getAbsolutePath()获取文件绝对路径。

2. getName() 获取文件名。

3. getPath()获取文件相对路径。

4. isFile()是否是一个文件。

5. length()返回文件中内容字节数。

bf8fb28f17dcf4a761e4b80e9ba37632.png
File类操作文件常用方法

操作目录常用方法:

1. isDirectory() 是否是一个目录

2. exists() 目录是否存在。

3. mkdir() 创建单层目录。

4. mkdirs(); 创建多层目录

5. list():返回一个String类型的数组,里面是文件或者目录名。

6. listFile(): 返回文件类型的列表对象。 元素是包含相对路径的。

c96d1b5e67b558ef1e1044678ecb7cb0.png
操作目录常用方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值