- 博客(30)
- 收藏
- 关注
原创 Properties文件的读取与保存
一、Properties格式的读取Properties是一种格式文件,在java中Properties类继承自Hashtable,是一种键值对(Key== Value)形式进行存储内容,实质上也是一种集合。 进行Properties文件的读取,使用BufferedInputStream创建输入流,创建Properties类的对象,调用load()方法,将“输入流”加载至Properties集合对象中。源码如下:package com.yx.demo;import j...
2022-05-30 23:38:50
981
原创 Zip文件的解析与生成
一、Zip文件的解析在解压zip文件时,有一类专门的输入流ZipInputStream,继承自FilterInputStream,用来实现Zip文件的读取,这类输入流是完成特定功能的输入流,采用java设计模式中的装饰器模式,要配合InputStream类型的输入流一起使用,完成zip文件的解析。在解析zip文件的时候,第一步要先建立解压缩后的目录,然后获取zip文件的名称,根据名称确定解压缩后的文件目录,然后创建目录。第二步要先遍历zip文件中的...
2022-05-30 22:45:48
1157
原创 FileInputStream与BufferedInputStream的区别
FileInputStream是InputStream的子类,即从文件流中读取数据,它的父类InputStream是java中自带的输入流,位于java.io包下,是一个抽象类,实现Closeable接口,使用完要关闭。而FileInputStream继承自InputStream,实现了read()方法,进行字节读取:package com.yx.demo;import java.io.FileInputStream;import java.io.FileNotFoundEx...
2022-05-23 22:06:11
551
原创 用栈模拟队列
队列的特点是:先进先出(FIFO),栈的特点是后进先出(LIFO),如果要实现用栈来模拟队列的出队入队操作,则需要两个栈:入队栈(in)和出队栈(out)。要模拟队列的入队和出队操作首先我们要定义两个栈:in用来入队,out来进行出队操作。进行入队操作:先将入队的元素存入入队栈(in)中使用栈的push()方法,这样最后存入的元素就成为了栈顶进行出队操作:将入队栈(in)中的元素在存入出队栈中,这样入队栈(in)中的栈顶就成了出队栈中的栈底,在使用pop()方法出栈,就实现了队列的先
2022-05-14 16:23:17
220
原创 List、Set、Map、Queue、Deque、Stack遍历方式总结
一、ListList集合继承Collection,有三种遍历方式1.for循环for(int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); }2.for each 循环for(String hero : list) { System.out.println(hero); }3.使用迭代器Iterator<String> it = list.iterat
2022-05-14 15:44:00
426
原创 Integer缓存池
我们先来看一个代码段:Integer x = 127;Integer y = 127;Integer m = 99999;Integer n = 99999;System.out.println("x == y: " + (x==y)); // trueSystem.out.println("m == n: " + (m==n)); // false为什么第一次进行等值比较结果为true,而第二次的结果却是false?这是由于Integer在其内部的缓存池内把“-128-127”
2022-02-21 18:50:25
484
原创 String、StringBulider、StringBuffer的区别
1、相同点:从某种意义上来讲,它们都属于“字符串类”,它们都有构造方法,都实现方法的重载,都属于final修饰的类,不允许被继承。2、不同点:不同的是String 是不可变的,而StringBulider与StringBuffer是可变的。String不可变的原因是在JDK提供的的类库里面String类进行存值时使用的是 final char value[],这个常量字符数组,使用不可变,除非重新指向。未重新指向: String str = "落霞与孤...
2022-02-21 17:50:43
338
原创 字符串常见方法
一、获取字符串长度-------length() String str = "大弦嘈嘈如急雨,小弦切切如私语"; System.out.println(str.length());返回值是int类型二、字符串比较内容是否相同-------equals() String str1 = "hello"; String str2 = "Hello"; System.out.println(str1.equals(str2)); //false返回值是bo..
2022-02-20 20:08:52
189
原创 “抽象类”与“接口”有什么区别?
1、从定义方面讲:用abstract关键字修饰的类就是抽象类,抽象类无法实例化。使用interface关键字定义接口。那么“抽象类”与“接口”有什么区别呢?我们将从不同方面来进行比较:2、从继承方面讲:只能extends继承一个类,可以implements实现多个接口class Student extends PresonA implements PersonB,PersonC{}abstract class PresonA{ //抽象方法 public abstract
2022-02-16 19:37:12
174
原创 “重载”与“重写”的区别
首先我们要知道这两个词是完全不同的意思:重载(Overload)是指:在同一个类中可以定义很多方法,但很多的方法实现的功能是相同的,只是参数不同(类型,顺序,个数),我们把这种相同方法名,只有参数不同称为方法重载。例如:public class Demo02 { public static void main(String[] args) { //方法的重载:在同一个类中,针对相同功能的一组同名方法的定义,方法的参数(类型、个数、顺序) Demo02 dm = ...
2022-02-16 19:15:34
472
原创 在String类型的前提前下:使用“==“ 与equals的区别
"=="与equals在比较时,"=="注重的是对内存地址的比较,而equals 则更注重内容上的比较,强调值是否相等。'''==''适用于 基本数据类型或者引用类型,通过在常量池中查找,如果没有则新建一个对象,等下一次调用时直接在常量池中查找,而equals适用于引用数据类型举一个例子:public class Work01 { public static void main(String[] args) { String str1 = "bbb";...
2022-02-16 18:49:05
170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人