
java基础
文章平均质量分 54
java基础
rztrain
Franklin&Marshall College
展开
-
JAVA基础 初始化HashSet
一种 简单的初始化HashSet方法public static finalHashSet<Character> hc = Arrays.asList('1','2','a','4');可以用于 if 条件中if(str.contains(hc.values()))....原创 2022-05-27 16:06:11 · 571 阅读 · 0 评论 -
JAVA高频面试:超过LONG范围超大整数相加算法
java⾥有数字long来表⽰⼤的整数,如果两个数字的范围超过了long,要做加法算法怎么做呢?这个问题在⾯试中经常碰到,如果之前没有经历的,可能⼀时有点想不起来怎么做。下⾯我们来分析⼀下,两个数字超过了long的范围,那显然不能⽤java中的基本数字类型来计算了。我们可以想⼩时候刚学习加法的竖式运算,个位对个位,⼗位对⼗位,百位对百位、、、以此类推。当个位满⼗向⼗位进1,⼗位满⼗向百位进1、、、以此类推,就这样完成了运算。表⽰出来如下:1 4 52 6 94 1 4 受此启发我们转载 2022-05-19 10:20:17 · 773 阅读 · 0 评论 -
Java Hashmap和Treemap区别
一、源码(signature)源码分析如下:可以看到,相比HashMap来说,TreeMap多继承了一个接口NavigableMap,也就是这个接口,决定了TreeMap与HashMap的不同:HashMap的key是无序的,TreeMap的key是有序的二、接口NavigableMapNavigableMap定义:发现NavigableMap继承了SortedMap,再看SortedMap的定义:SortedMap就像其名字那样,说明这个Map是有序的。这个顺序一般是指由Comparab转载 2022-05-12 22:10:58 · 177 阅读 · 0 评论 -
Java基础 ==与equals的区别
Java基础 ==与equals的区别==简单来说,== 比较的时候时候分为两种情况,如果是int,boolean,char,float这种值类型,那么比较的是值是否相等如果 == 比较的是两个引用类型,那么比较的是两个的内存地址是否相等。equalsequals也分两种情况如果equals没有被重写过,那么比较等价于==如果equals被重写过,那么比较的是两个对象的内容是否相等。另外string类型的equals已经被重写过了。举例public void test1() { S原创 2020-08-25 11:39:10 · 127 阅读 · 0 评论 -
Java基础 throw与throws以及异常处理
Java基础 throw与throws以及异常处理throwthrow通常用与在java程序中抛出异常,非捕获。public static void main(String[] args) { String s = "abc"; if(s.equals("abc")) { throw new NumberFormatException(); } else { System.out.println(s); } //function();}throwsthrows则原创 2020-08-17 08:57:35 · 290 阅读 · 0 评论 -
Java基础 装箱与拆箱
Java基础 装箱与拆箱Java是一门面向对象语言,其中提供了包装类来包装基本数据类型。基本数据类型例如int可以通过手动装拆箱Interger.valueOf(int i)来实现装箱intValue(Interger I)来实现拆箱自动装拆箱Interger I = 1;int i = I;需要注意的是,源码中自动装箱时,如果取值范围在【-128,127】之内,则返回缓存值,不会开辟新的内存空间装箱,会指向同一个对象。所以Short,Integer,Long的取值空间在此之内会返回同一原创 2020-08-17 06:59:52 · 124 阅读 · 0 评论 -
Java基础 线程与进程的区别
Java基础 线程与进程的区别进程是计算机运行的一个应用程序,可以并发而线程是进程中运行的。一个进程中可以同时运行多个线程,这些线程并发运行,cpu不断切换运行的线程来提高运行效率。线程拥有自己的计数器以及虚拟机栈。...原创 2020-08-17 06:40:26 · 120 阅读 · 0 评论 -
Java基础 String,StringBuilder与StringBuffer
Java基础 String,StringBuilder与StringBufferString和StringBuffer, StringBuilder的区别是什么?String为什么是不可变的?String类首先String类是一个不可变类,什么意思呢,就是一个String被创建之后,jvm会分配给它一个内存,就算之后再改变String对象,也不会修改原来内存,而是生成一个新的内存,所以反复修改String会造成内存浪费。String类使用final修饰的,所以不可变。同时因为不可变,所以可以理解为常原创 2020-08-17 06:02:35 · 185 阅读 · 1 评论 -
Java基础 重载与重写的区别
Java基础 重载与重写的区别重载(overload)重写(override)重载指的是在同一个类内部对名称相同的两个方法进行重写,其中,这两个方法的参数必须不同,同时不规定修饰符以及返回值,不规定抛出异常的种类。体现的是编译多态性。重写指的是继承关系(子父类)之间子类对一个方法进行重写,其中子类的重写方法必须有和父类相同的参数,同时返回值范围小于等于,修饰符权限需要大于或等于父类。如果父类是private则不能重写。抛出异常值小于等于父类。体现的是运行多态性。...原创 2020-08-17 05:33:42 · 103 阅读 · 0 评论