
java 基础
文章平均质量分 60
4
fastjson_
这个作者很懒,什么都没留下…
展开
-
JAVA转义字符详解
222原创 2023-02-01 16:36:11 · 17412 阅读 · 0 评论 -
throw 和 throws 的区别?
222原创 2022-12-19 11:39:47 · 164 阅读 · 0 评论 -
Map集合循环遍历的几种方式
package cn.jdbc.test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;/*** Map 集合的循环遍历* @data 2018.1.21**/public class TestMap { public static void main(String[] args) { ...原创 2021-03-08 10:16:42 · 490 阅读 · 0 评论 -
枚举Enum解决if else过多问题
最近接触互联网项目,发现实际互联网项目中有非常多的判断,每次功能迭代,需求一旦变动,或者加个字段,代码就会加一行if else,不得不说if else效率是很高,但是给后期可维护性,可读性造成很大伤害,如果一连串的if else,几个版本迭代下来,其他开发接手,都不敢动,更别提重构,只好又在后面再加一个if else,这样恶性循环。解决if else,可以用设计模式,比如策略模式;嵌套if else,可以用责任链模式,这些设计模式可能对于那些新手CRUD程序员有点挑战,所以我在这说一下最简单的用枚举解决原创 2021-01-27 17:02:37 · 1336 阅读 · 0 评论 -
JAVA中List对象去除重复值的方法
JAVA中List对象去除重复值,大致分为两种情况,一种是List<String>、List<Integer>这类,直接根据List中的值进行去重,另一种是List<User>这种,List中存的是javabean对象,需要根据List中对象的某个值或某几个值进行比较去重。方法如下:一、List<String>、List<Integer>对象去重复值。这种情况的话,处理起来比较简单,通过JDK1.8新特性stream的distinct.原创 2021-01-21 15:43:29 · 2766 阅读 · 0 评论 -
Java多态中重载方法参数分别为父类和子类时的疑惑
class A { public String show(D obj){ return ("A and D"); } public String show(A obj){ return ("A and A"); } } class B extends A{ public String show(A obj){ return ("B and A"); .原创 2020-12-24 17:38:43 · 458 阅读 · 1 评论 -
Java中的break,continue关于标签的用法
java中的标签Java的控制循环结构中是没有关键字goto的,这种做法有它的好处,它提高了程序流程控制的可读性,但是也有不好的地方,它降低了程序流程控制的灵活性,所以说,“上帝是公平的”。所以,Java为了弥补这方面的不足,Java提供了break和continue的标签用法。Java中的标签就是一个紧跟着“:”的标识符。与其他语言不通,Java语言的标签必须放在循环前面才有作用。下面就来看一些例子:continue + 标签public void continueLabelTest(){原创 2020-09-23 20:21:03 · 220 阅读 · 0 评论 -
双击jar文件无法运行的解决办法
步骤:1.打开注册表(开始->运行或WIN+R,输入regedit,确定);2.找到HKEY_CLASSES_ROOT/Applications/java.exe3.进入HKEY_CLASSES_ROOT/Applications/java.exe/shell/open/command,修改默认的键值为 "D:/Program Files/Java/jre/bin/java.exe" -jar "%1" 。java环境安装在其它地方也类似。...原创 2020-08-25 12:20:41 · 5452 阅读 · 0 评论 -
java中的switch case语句
switch-case语句格式如下:switch(变量){case 变量值1: //; break;case 变量值2: //...; break; ...case default: //...; break;}swtich()变量类型只能是int、short、char、byte和enum类型(JDK 1.7 之后,类型也可以是String了)。当进行case判断时,JVM会自动从上到小扫描,寻找匹配的case,可能存在以下情况:情况原创 2020-07-23 13:56:35 · 734 阅读 · 0 评论 -
java 回调函数解读
模块间调用在一个应用系统中,无论使用何种语言开发,必然存在模块之间的调用,调用的方式分为几种:(1)同步调用同步调用是最基本并且最简单的一种调用方式,类A的方法a()调用类B的方法b(),一直等待b()方法执行完毕,a()方法继续往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法执行时间一长或者直接阻塞的话,a()方法的余下代码是无法执行下去的,这样会造成整个流程的阻塞。(2)异步调用异步调用是为了解决同步调用可能出现阻塞,导致整个流程卡住而产生的一种调用方式原创 2020-06-29 15:47:31 · 4896 阅读 · 1 评论 -
java 枚举常见用法
用法一:常量 在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。package com;p...原创 2020-05-22 10:40:02 · 377 阅读 · 0 评论 -
java 断言的开启和使用
一、java断言机制java断言assert是jdk1.4引入的。 jvm断言默认是关闭的。 断言可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。 断言主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。 断言一般用于程序执行结构的判断,千万不要让断言处理业务流程。二、判断idea是否开启了断言public static void main(String args[]) { .原创 2020-05-22 09:48:28 · 2643 阅读 · 0 评论 -
JAVA —— 向上转型、向下转型
父子对象之间的转换分为了向上转型和向下转型,它们区别如下:向上转型: 通过子类对象(小范围)实例化父类对象(大范围),这种属于自动转换 向下转型: 通过父类对象(大范围)实例化子类对象(小范围),这种属于强制转换1. 向上转型class A { public void print() { System.out.println("A:print"); }}class B extends A { ...原创 2020-05-18 10:47:43 · 318 阅读 · 0 评论 -
Java 装箱与拆箱机制
java有8种基本类型,在Java中,一切都以对象作为基础,但是基本类型并不是对象,如果想以对象的方式使用这8中基本类型,可以将它们转换为对应的包装类型。基本类型和包装类型的对int(4字节) Integer byte(1字节) Byte short(2字节) Short long(8字节) Long float(4字节) Float double(8字节) Double char(2字节) Character ...原创 2020-05-12 08:58:19 · 309 阅读 · 0 评论 -
Java文件编译与反编译:javac命令和javap命令
1.创建一个Test.java文件,并输入内容public class Test{ private int m; public int inc(){ return m + 1; }}2.使用javac命令编译Test.java文件,得到Test.class文件javac Test.java 3.使用Sublime3打开Test.clas...原创 2020-05-06 10:08:00 · 723 阅读 · 0 评论 -
Java注解详解
Java Annotation是JDK5.0引入的一种注释机制。第1部分 Annotation架构从中,我们可以看出:(01) 1个Annotation 和 1个RetentionPolicy关联。 可以理解为:每1个Annotation对象,都会有唯一的RetentionPolicy属性。(02) 1个Annotation 和 1~n个Element...原创 2020-05-05 17:27:47 · 860 阅读 · 0 评论 -
Java采用JNI调用VC++生成的dll(Java与C++交互)
什么是JNI?JNI全拼是Java Native Interface,中文意思为Java本地调用。JNI标准是Java平台的一部分,它允许java和其他语言的代码进行交互。JNI开始是为了本地已经编译好的语言,尤其是C和C++而设计的,我们也可以使用JNI和其他语言进行沟通,我们只要调用约定受支持了就可以了。什么原理?我们知道C++中或者C#等.net都能生成...原创 2020-01-29 11:34:44 · 372 阅读 · 0 评论 -
java自定义异常类
在实际开发中,开发人员往往需要定义一些异常类用于描述自身程序中的异常信息,以区分其他程序的异常信息。就需要自定义异常类。实现自定义异常类的方法如下:1、类java.lang.Throwable是所有异常类的基类,它包括两个子类:Exception和Error,Exception类用于描述程序能够捕获的异常,如ClassNotFoundException。Error类用...原创 2020-01-15 13:41:15 · 1618 阅读 · 0 评论 -
浅谈JAVA GUI中,AWT与Swing的区别、联系及优缺点
A.区别1.发布的时间AWT是在JDK 1.0版本时提出的Swing是在AWT之后提出的(JAVA 2)2. ”重量” AWT是重量级组件,因为用了大量的Windows函数 Swing是轻量级组件,压根没用Windows函数3.可支持平台 AWT只能在Windows平台下执行 Swing可以在任意平台执行4.代码操作 用基于A...原创 2019-11-02 09:15:23 · 2385 阅读 · 0 评论 -
计算机的进制转换
原创 2019-11-01 20:18:32 · 346 阅读 · 0 评论 -
正确在遍历中删除List元素
最近在写代码的时候遇到了遍历时删除List元素的问题,在此写一篇博客记录一下。一般而言,遍历List元素有以下三种方式:使用普通for循环遍历 使用增强型for循环遍历 使用iterator遍历使用普通for循环遍历代码如下:public class Main { public static void main(String[] args) throws Exc......原创 2018-12-07 16:24:42 · 5996 阅读 · 0 评论 -
Java 位运算(移位、位与、或、异或、非)
Java的运算符,分为四类:算数运算符、关系运算符、逻辑运算符、位运算符。算数运算符(9):+ - * / % ++ --关系运算符(6):== != > >= 逻辑运算符(6):&& || ! ^ & |位运算符(7):& | ~ ^ >> >>--------------------------------原创 2017-09-09 11:30:54 · 1551 阅读 · 0 评论 -
java异常体系
Java异常是程序运行过程中出现的错误。Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中定义了许多异常类,分为两大类,错误Error和异常Exception。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常(非runtimeException),也称之为不检查异常(Unch原创 2017-09-09 11:27:10 · 488 阅读 · 0 评论