- 博客(17)
- 收藏
- 关注
原创 Java HashMap和HashSet的区别与联系
不同点HashMapHashSet实现的接口Map、Cloneable、SerializableSet存储对象的方式(适用情况)HashMap存储的内容是键值对(Key和Value)的映射,它保持了Key和Value之间的对应关系。HashSet基于HashMap实现的,是一个集合是否允许元素重复不允许重复的Kry,但它允许重复的Value,即允许重复的值。不允许有重复的元素,即不能存重复的值。是否允许null允许一个null的Key和任意数量的空Va
2022-05-25 21:45:04
347
原创 Java的文档注释
这一段时间在看Java源码以及别人的一些代码时总会看到一些用 @ 修饰的东西。以前最熟悉的就是@override重写,但当我看到这个真的可以说是被“震惊”了,所以打算来学习一下Java的文档注释。Java 支持三种注释方式。前两种分别是 // 和 /* */,第三种被称作说明注释,它以 /** 开始,以 ***/**结束,前两种都是都是非常熟悉的了,最有意思的是第三种说明注释。Java标签这里只列举几个常见的Java标签标签描述示例@author标识一个类的作者@aut
2022-05-12 13:44:17
5235
原创 抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)隶属于设计模式中的创建型模式,用于产品族的构建。抽象工厂是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂是指当有多个抽象角色时使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象。来源:百度百科 我们依然沿着上次简单工厂走下去。实现我们将创建 Drinks 和 Taste 接口和实现这些接口的实体类。下一步是创建抽象工厂类 AbstractFactory。
2022-05-10 22:13:09
145
原创 简单工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。[1]举例&代码我们将创建一个Drinks接口和实现该接口的实体类。接下来创建一个简单工厂类DrinksFactory。测试类Test通过使用DrinksFactory来获取Drinks的对象,同时传递信息,以便获取它所需对象的类型。step1
2022-05-03 21:23:16
228
原创 自己写ArrayList后的心得
源码分析ArrayList应该是Java工具类中最简单的一个。它的内部实现是一个数组,在首次加入元素时,ArrayList会创建一个默认大小的数组,之后的添加、删除、查询操作都是对该数组进行操作。而我自己写的ArrayList则是和LinkedList一样,基于链表实现。下面会一一比较两种方法的差别。add方法ArrayList源码的:public void add(int index, E element) { //检查索引是否越界 rangeCheckForAdd(index
2022-04-21 00:37:30
2619
原创 Java try关键字
Java try关键字在写自己的ArrayList时,看到源码中clone()方法里面用了try,以前没有见过,于是找了一些资料。try: 常进行异常捕获,用于try…catch…finally块。将可能出现异常的代码放在try语句里面,当try语句块内发生异常时,异常就会被抛出。食用方法:try { 语句块1} catch (<? extends Throwable> e) { 语句块2_1} catch (<? extends Throwable> e
2022-04-17 23:22:55
670
原创 println()为什么会输出hashCode 及 解决方法
我们经常在使用println()时会莫名其妙的输出hashcode,那么要怎么解决呢?
2022-04-02 22:23:56
314
原创 外部类与内部类
什么是外部类、内部类public class Outer { class Inner{ }}如上述代码,Outer是一个外部类,Inner是一个内部类,内部类也可以用public、static等修饰,但要注意:1.静态内部类中可以有非静态的方法;2.当内部类中有静态方法或者静态成员变量时,一定是静态内部类。外部类与内部类的区别与联系:内部类可以访问外部类所有的方法和属性,如果内部类和外部类有相同的成员方法和成员属性,内部类的成员方法调用要优先于外部类即内部
2022-03-28 01:22:30
4969
1
原创 Java按需分割裁剪字符串
我们有一串字符串:String str = "David 90 95 88";,我们想按空格分割这个字符串方法使用String的split方法:public String[] split(String regex)这里要注意一点,在Java api帮助文档中写明了:Splits this string around matches of the given regular expression. 即拆分字符时要使用[正则表达式](https://docs.oracle.com/javase/8/doc
2022-03-20 17:37:22
876
原创 如何打包成jar
在项目所在的根文件夹用DOS输入:jar cvf 项目名.jar *接着用压缩软件打开.jar文件,在META-INF中的MANIFEST修改在最下一行加入Main-Class: 文件名该文件名为你的main方法所在的类,注意如果使用了自定义包,要一直从根文件夹点到你的main方法的类名。最后运行用java -jar 文件名.jar还有其它方法还在学习中。。。...
2022-03-13 23:20:00
3047
原创 纳税计算——案例2_7
在我国,个人所得税是基于纳税人的情况和应征收人计算的。纳税人情况共分为三种:单身纳税人、已婚纳税人和家庭纳税人。另外,对于不同情况的纳税人,其税率是分档计算的,我国2008年的个人所得税税率如下表所示。
2022-03-03 20:51:33
617
1
原创 编码GBK不可映射字符的三种解决方法
当我们需要输出中文时,在DOS等运行和调试代码时会出现study01.java:3: 错误: 编码GBK的不可映射字符 System.out.println("浠婂ぉ鐨勬棩鏈熸槸锛?"+day)锛? ^或者中文编码错误原因:Windows CMD和Power Shell的默认编码格式是GBK(汉字内码扩展规范 即 国标),而VScode、Notepad++甚至是记事本等编辑器的默认编码格式是UTF-8。解决方法
2022-03-03 13:27:16
49506
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人