Java
雨巷流刀
记录每一分痛点,分享每一点收获
展开
-
Java四种权限修饰符的访问权限列表
四种修饰符在不同情况的访问权限publicprotecteddefaultprivate同一类YYYY同一包YYYN不同包子类YYNN不同包非子类YNNN原创 2020-03-18 18:05:07 · 280 阅读 · 0 评论 -
Java异常处理简单记录
异常分为编译期异常运行期异常编译期异常处理方式:使用 throws 向上抛出异常交给别人处理 或 使用 try…catch 捕获异常自己处理。必须选择一种处理方式运行期异常处理方式:可以选择不处理,交给虚拟机处理(也可以自己处理)示例:public class ThrowTest { public static void main(String[] args) { ...原创 2020-03-28 22:43:39 · 147 阅读 · 1 评论 -
? extends T 和 ? super T含义
<? extends T> 表示设置泛型的上限为T或T的子类 <? super T> 表示设置泛型的下限为T或T的父类原创 2020-08-06 21:06:47 · 261 阅读 · 0 评论 -
函数式接口有多个抽象方法却不报错的原因
比如在Consumer接口中,如图在以下几种情况下,接口不会把其当作是抽象方法,从而符合函数式接口的定义。所接口中所定义的方法式默认方法,使用default修饰,有其默认实现。方法是静态方法,因为静态方法不能是抽象方法,而是一个已经实现了的方法。方法是继承来自 Object 类的public方法,因为任何一个接口或类都继承了 Object 的方法共同特点:都已实现详细解释请参考:传送门...原创 2020-08-06 17:43:09 · 973 阅读 · 0 评论 -
函数式接口的两种实现——匿名内部类和lambda表达式
这里使用Supplier接口举例,先解释一下Supplier接口的作用:接口仅包含一个无参的方法:get()。用来获取一个泛型参数指定类型的对象数据。由于这是一个函数式接口,这也就意味看对应的 Lambda表达式需要“对外提供”个符合泛型类型的对象数据。简单来说就是返回一个指定类型的数据对象的。举个简单的例子,直接看代码吧public class Test { public static void main(String[] args) { String s1 = new Su原创 2020-08-06 17:27:49 · 799 阅读 · 0 评论 -
maven3.3.9资源包官网下载地址
https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/原创 2020-07-17 21:47:14 · 1715 阅读 · 0 评论 -
注解@SuppressWarnings() 参数列表
参考:参考网站1参考网站2原创 2020-05-30 12:11:50 · 532 阅读 · 0 评论 -
Java抑制 可能空指针异常 警告
警告就像这样因为不能确定你传入的参数正确,有可能会产生空指针异常。消除:添加注解@SuppressWarnings("ConstantConditions")也可以把参数设为"all",去除所有警告原创 2020-05-30 11:07:58 · 1033 阅读 · 0 评论 -
IDEA配置打印输出类加载的过程
1、找到运行菜单2、选择编辑配置3、在虚拟机选项输入 -verbose:class4、运行原创 2020-05-29 18:45:08 · 1260 阅读 · 0 评论 -
Java Label 中文乱码
解决:将Lable 修改为 JLable 即可原创 2020-05-26 11:30:12 · 1642 阅读 · 1 评论 -
Java 通过反射获取和设置类中属性及方法(包括私有)
先看一下我们主要用到的方法public Field getDeclaredField(String name) throws NoSuchFieldException, SecurityExceptionAPI文档解释:返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。name 参数是一个 String,它指定所需字段的简称。注意,此方法不反映数组类的 length 字段。这里的Filed是一个类,要获取类属性和方法就要用到Field类中的方法Fi原创 2020-05-14 19:03:19 · 1984 阅读 · 0 评论 -
初始化加载类的情况
初始化:类加载的最后一步,真正开始执行类中定义的Java程序代码。主要对 static 变量进行赋值,以及执行 static 语句块中的操作。执行类初始化的情况:1.创建类实例,也就是new一个对象2.访问某 类/接口 中的静态变量或对其赋值3.调用类的静态方法4.使用 Class.forName() 创建对象5.初始化一个类的子类(会先初始化其父类)不会执行的情况:1.调用 final 类型的静态变量(编译时就会存入常量池)不会触发常量所在的类初始化2.Class.forName() 创原创 2020-05-14 16:36:15 · 103 阅读 · 0 评论 -
JAVA打印日历两则
代码一import java.util.Calendar;import java.util.Scanner;/* 打印日历的思想: 首先的分两部分打印,1-9 10-30 分别是一位数打印和两位打印打印(因为要求打印的空格数不同) 然后是确定当前日期并单独打印 两部分打印整体使用大循环包裹,结束条件为此月天数 换行条件:(一号星期数+当前日期号数-1...原创 2020-05-02 10:14:30 · 159 阅读 · 0 评论 -
统计字符串中某段字符出现的次数
上个代码记录一下public class StringCompare { public static void main(String[] args) { String s = "我正在学习java编程,学的第一个java程序是Hello java!"; method(s,"a"); } public static void meth...原创 2020-04-10 09:46:00 · 308 阅读 · 0 评论 -
Java创建多线程的两种方式
什么是多线程?多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。——维基百科简单来说,假如我们把一个线程看作一个任务,CPU就是用来执行这个任务的,如果只有一个CPU,却有多个任务,那么CPU在这多个任务中来回切换执行,那么就是多线程,可以提高整体处理性能。(提...原创 2020-03-29 12:51:58 · 198 阅读 · 1 评论 -
斗地主两例
案例一,无序版/* 斗地主综合案例: 1、准备牌 2、洗牌 3、发牌 4、看牌 */import java.util.ArrayList;import java.util.Collections;public class demo { public static void main(String[] ar...原创 2020-03-26 18:06:55 · 149 阅读 · 1 评论 -
Java遍历字符串
字符串遍历方法:使用toCharArray()方法使用length()+charAt(index)方法一:public char[] toCharArray() 将此字符串转换为一个新的字符数组。返回:一个新分配的字符数组,它的长度是此字符串的长度,它的内容被初始化为包含此字符串表示的字符序列。演示:import java.util.Scanner;public cla...原创 2020-03-24 17:16:58 · 4913 阅读 · 0 评论 -
HashMap类方法使用
Map接口使用* public V put(K key, V value): 把指定的键与指定的值添加到Map集合中。* public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。* public V get(Object key) 根据指定的键,在Map集合中获取对应的值。* boolean containsKey...原创 2020-03-24 14:08:38 · 565 阅读 · 0 评论 -
Map中entrySet()方法使用
public Set<Map.Entry<K,V>> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。就是返回一个集合,集合里存放的是对象,创建对象的类有两个属性,分别是 键和值 也即键值对。其中Entry是属于Map的静态内部类,在创建Map对象的时候就会同时创建一个Entry对象,用来记录键与值的映射关系。Entry类中的方法:...原创 2020-03-24 14:07:16 · 16213 阅读 · 0 评论 -
可变参数一定要写在参数列表的末尾位置
原文链接:http://www.manongjc.com/detail/6-tdkzoimuxccuqco.html可变参数在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化成如下格式:修饰符 返回值类型 方法名(参数类型… 形参名){ }其实这个书写完全等价与格式:修饰符 返回值类型 方法名(参数类型[] 形参名){ }只是后...转载 2020-03-21 11:28:09 · 1032 阅读 · 0 评论 -
类型参数不能是原始类型错误提示
将 int 换为 Integer 即可复习内容:基本类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBooleanpublic interface Iterator<E>{...}...原创 2020-03-21 10:51:03 · 457 阅读 · 0 评论 -
List接口与索引相关的特有方法小记
List接口继承了Collection接口,此处说的是List相对Collection与索引相关的特有方法。特点:有序集合,存储和取出元素的顺序一致有索引,包含一些带索引的方法(下面介绍)允许存储重复元素特有方法:public void add(int index,E element);public E get(int index);public E remove(int i...原创 2020-03-20 17:05:58 · 162 阅读 · 0 评论 -
简单介绍Java泛型的使用
泛型的概念维基百科:泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。在Java中用 <E> 表示泛型泛型的好处将运行时期的ClassCastException,转移到了编译时期...原创 2020-03-19 22:06:50 · 385 阅读 · 0 评论 -
Java IDEA 编辑器代码前进后退快捷键
默认设置后退:Ctrl + Alt + 左箭头前进:Ctrl + Alt + 右箭头手动设置:设置——快捷键——主菜单——导航——前进/后退——右键修改原创 2020-03-14 08:41:29 · 1637 阅读 · 0 评论 -
使用Java打印一波金字塔/菱形
package study.homework;/*题目:打印三层正三角形和两层倒三角形如果要转换为打印金字塔只要删除掉 下半部分 for 循环打印 * ******** *** * */import java.util.Scanner;/*题目:打印数字菱形*/public class WorkPractise { public static void...原创 2020-02-28 14:07:47 · 518 阅读 · 0 评论 -
Java编辑器——IntelliJ IDEA常用快捷方式
ctrl + Y 删除当前行Alt + Enter 导包,自动修正代码ctrl +Alt + L 格式化代码ctrl + D 复制光标所在行内容,并插在当前行下面ctrl + / 当行注释/取消当前行注释ctrl + Alt + / 多行注释,取消多行注释Alt + Ins 自动生成代码(set/get方法等等)Alt + shift + ↑/↓ 将当前行上/...原创 2020-02-23 00:40:18 · 286 阅读 · 0 评论