Java
文章平均质量分 59
Schafferyy
这个作者很懒,什么都没留下…
展开
-
java--类单继承多实现,接口多继承
继承的表现形式:单继承:一个类只能继承一个类多继承:一个接口可以继承多个类,一个类可以实现(implements)多个接口。类为什么只能单继承1、java只支持单继承,如果子类继承的多个父类里面有相同的方法或者属性,子类将不知道具体继承哪一个,会产生歧义。举例说明:如果类A同时继承了B,C,类B和C有相同的方法d,那么类A该继承哪个类的d方法呢,这是不明确的。2、如果父类中的方法同名,子类中没有覆盖,同样会产生上面的错误。3、类是单继承,多实现。通俗的讲,子类只能有一个亲身父亲,但是一个父原创 2021-10-13 16:11:54 · 6910 阅读 · 0 评论 -
poi如何判断excel单元格是否为null或者““
在做excel相关业务的时候,遇到了单元格为空却读取不到的情况,本来就是用的简单的==null来判断的,结果debug发现进不去,相应的Cell类的值是一个"",这样就很尴尬,查资料发现,可以通过Cell类的CellType来进行判断,具体代码如下:if(firstCell == null || firstCell.getCellType() == Cell.CELL_TYPE_BLANK){ System.out.println("测试成功");}剖析源码发现:原创 2021-08-27 02:53:36 · 1788 阅读 · 0 评论 -
Java笔记--Stream之groupingBy 分组讲解
本文主要讲解:Java 8 Stream之Collectors.groupingBy()分组示例Collectors.groupingBy() 分组之常见用法功能代码:/** * 使用java8 stream groupingBy操作,按城市分组list */ public void groupingByCity() { Map<String, List<Employee>> map = employees.stream().collect(Collectors.原创 2021-08-18 19:56:37 · 4938 阅读 · 0 评论 -
java笔记--poi操作excel
1、poi提供的获取值方法1. int getNumberOfSheets()获得工作薄(Workbook)中工作表(Sheet)的个数,示例:jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));int sheets = rwb.getNumberOfSheets();2. Sheet[] getSheets()返回工作薄(Workbook)中工作表(Sheet)对象数组,示例:jxl.Workbook rwb原创 2021-08-04 00:35:11 · 1443 阅读 · 0 评论 -
Java笔记 -- Iterator
一、定义Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。迭代器 it 的三个基本操作是 next 、hasNext 和 remove。调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。调用 it.hasNext() 用于检测集原创 2021-07-15 10:39:33 · 266 阅读 · 0 评论 -
Java8新特性 -- Lambda 表达式、双冒号、stream
一、Lambda 表达式Lambda 允许把函数作为参数传递进方法中。不是每个接口都可以缩写成 Lambda 表达式。只有那些函数式接口(Functional Interface)才能缩写成 Lambda 表示式。所谓函数式接口(Functional Interface)就是只包含一个抽象方法的声明。只要接口中仅仅包含一个抽象方法,我们就可以将其改写为 Lambda 表达式。为了保证一个接口明确的被定义为一个函数式接口(Functional Interface),我们需要为该接口添加注解:@Func原创 2021-07-14 21:25:52 · 632 阅读 · 0 评论 -
java 获取年月日时分秒和当月第一天和最后一天
public class CalendarTest { public static void main(String[] args) { // 获取当前年份、月份、日期 Calendar cale = null; cale = Calendar.getInstance(); int year = cale.get(Calendar.YEAR); int month = cale.get(Calendar.MONTH) + 1; int day = cale.get(Calendar原创 2021-06-03 16:55:05 · 1008 阅读 · 0 评论 -
java笔记--map
一、接口概述我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。Collection中的集合称为单列集合,Map中的集合称为双列集合。需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。原创 2021-05-18 08:32:27 · 115 阅读 · 0 评论 -
java笔记--Object
Java中Object对象方法方法简介:1.clone() 复制2.getClass() 获取对象的class3.equals() 对象值比较,重写equals方法必须重写hashcode,对象的约定,例如不重写,hashMap的kv不一致;4.hashCode() 对象的hash值5.tostring() 默认方法是 包名@改对象的hashCode十六进制表示6.notify() 线程唤起7.notifyall() 线程全部唤起8.wait() 线程等待9.finalize()原创 2021-05-18 08:12:32 · 109 阅读 · 0 评论 -
java循环中使用 Map方法put值时value值被覆盖的问题
1、需要把容器换成list2、定义map:Map<String, String> FengFee = new IdentityHashMap<String,String>();3、put方法:FengFee.put(new String("FengFee"),Fee);完整代码示例:Map<String, String> FengFee = new IdentityHashMap<String,String>(); for (String key原创 2021-05-17 10:53:45 · 2402 阅读 · 0 评论 -
java的double类型数据四舍五入及保留N位小数
一、double四舍五入并保留两位小数的方法1.只要输出结果double x1 = 0.026;System.out.println(String.format("%.2f", x1));2.数据转换//方案一:get_double = (double)(Math.round(result_value*100)/100.0)//方案二:DecimalFormat df = new DecimalFormat("#.##"); get_double = Double.ParseDouble原创 2021-05-17 09:02:43 · 11987 阅读 · 0 评论 -
Java中Map的 entrySet()、keySet() 详解以及用法
Entry由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value (我们总说键值对键值对, 每一个键值对也就是一个Entry)Map.Entry里面包含getKey()和getValue()方法Iterator<Map.Entry<Integer, Integer>> it=map.entrySet().iterator(); while(it.hasNext()) {原创 2021-01-07 13:55:55 · 2542 阅读 · 1 评论 -
Iterator主要有三个方法:hasNext()、next()、remove()详解
一、Iterator的API关于Iterator主要有三个方法:hasNext()、next()、remove()hasNext:没有指针下移操作,只是判断是否存在下一个元素next:指针下移,返回该指针所指向的元素remove:删除当前指针所指向的元素,一般和next方法一起用,这时候的作用就是删除next方法返回的元素二、迭代器原理1、当创建完成指向某个集合或者容器的Iterator对象时,这时的指针其实指向的是第一个元素的上方,即指向一个空。2、当调用hasNext方法的时候,只是原创 2021-01-07 10:50:26 · 936 阅读 · 0 评论 -
java获取当前日期和前一周、前一月、前一年的日期
public static void main(String[] args) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = Calendar.getInstance(); //现在日期 String now = format.format(new Date()); System.out.p原创 2020-09-22 09:12:01 · 2181 阅读 · 0 评论