Java
行云间
z大厦大法师打发斯蒂芬
展开
-
深入理解枚举类型之基础用法
参考资料 1.Java编程思想 2.JAVA EMNU 3.java enum(枚举)使用详解 + 总结原创 2016-05-16 21:19:05 · 3478 阅读 · 0 评论 -
Java 8系列之Stream的强大工具Collector
概述前面我们使用过collect(toList()),在流中生成列表。实际开发过程中,List又是我们经常用到的数据结构,但是有时候我们也希望Stream能够转换生成其他的值,比如Map或者set,甚至希望定制生成想要的数据结构。collect也就是收集器,是Stream一种通用的、从流生成复杂值的结构。只要将它传给collect方法,也就是所谓的转换方法,其就会生成想要的数据结构。这里不得不提下,原创 2017-02-10 16:18:15 · 59478 阅读 · 7 评论 -
Java 8系列之重构和定制收集器
前面我们已经了解到了Collector类库中各种收集器的强大,可是,它们也只是能满足常用的场景。既然开放了Collector接口,我们当然可以根据自已意愿去定制,实际操作起来还是比较简单的。Collectors.joining源码解析从前面,我们已经了解到一个Collector是由四部分组成的:Supplier<A> supplier(): 创建新的结果结BiConsumer<A, T> acc原创 2017-02-10 16:14:07 · 8878 阅读 · 3 评论 -
Java 8系列之默认方法
【编程导论(Java)·4.3Java接口】 在【0.3.1 Java简介】中,有这么一段话:“中请注意:Java并非作为教学语言设计的。世界各地的大学在讲授Java的过程中均遇到一些教学上的困难(如Java语言和API的快速升级),这些困难是计算机科学教育中一般性的挑战。”Java8中引入的默认方法,充分展示了Java平台中概念的一致性与JDK向前兼容之间的矛盾,而且悲哀地,以牺牲概念的一致性转载 2017-02-13 09:31:00 · 761 阅读 · 0 评论 -
java8系列之方法引用
概述在java 8中,我们习惯于使用Lambda表达式,来表示函数接口得引用。有时候在函数接口中,调用的是已经存在的方法。在这种情况下,java8提供了一个简写语法,那就是方法引用,进一步简化Lambda表达式。方法引用的形式方法引用的语法结构:ClassName::methodName(注意:只需要写方法名,不需要写括号,因为这里并不调用该方法)方法引用的四种形式 类型 示例 引用静态方原创 2017-02-13 10:37:40 · 1956 阅读 · 4 评论 -
java8系列之Optional
概述Java 8引入Optional类来防止空指针异常,Optional类最先是由Google的Guava项目引入的。Optional类实际上是个容器:它可以保存类型T的值,或者保存null。使用Optional类我们就不用显式进行空指针检查了。API创建Optionalempty:创建一个空的Optionalof:为非null的值创建一个OptionalofNullable:创建一个可为nu原创 2017-02-13 13:57:34 · 3227 阅读 · 1 评论 -
Java1.8函数式接口
转载自:Java 8 函数式接口函数式接口(Functional Interface)就是一个具有一个方法的普通接口。 函数式接口可以被隐式转换为lambda表达式。 函数式接口可以现有的函数友好地支持 lambda。 JDK 1.8之前已有的函数式接口:java.lang.Runnablejava.util.concurrent.Callablejava.security.Privil转载 2017-03-10 14:33:51 · 1691 阅读 · 0 评论 -
编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
转载自:编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 编译型语言和解释型语言1、编译型语言需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次转载 2017-09-26 08:49:18 · 706 阅读 · 0 评论 -
教你把自己Adnroid代码上传到JCenter
转载自: 教你把自己Adnroid代码上传到JCenter 上传项目到JCenter//引用方式如下compile '项目组ID:项目名称:项目版本号'//引用示例compile 'com.android.support:recyclerview-v7:23.3.0' 1.去JCenter官网注册个账号,这里有一个问题,就是国内的邮箱好像不行,xxxxxxx@163.com xxxxxx@转载 2017-09-21 16:42:27 · 549 阅读 · 0 评论 -
JavaPoet使用详解
文章目录简介常用方法设置修饰关键字设置注解设置字段设置文档注释设置分号、换行和缩进设置方法TypeSpec创建类创建枚举类创建接口创建注解创建匿名内部类AnnotationSpecMethodSpecFieldSpecParameterSpecCodeBlockCodeBlock.Builder占位符$L$S$N$T$$$W$Z$>$<$[$]格式化字符串相对参数位置参数命名参数Typ...原创 2019-04-17 14:47:09 · 7295 阅读 · 5 评论 -
Java 8系列之Stream中万能的reduce
reduce 操作可以实现从Stream中生成一个值,其生成的值不是随意的,而是根据指定的计算模型。比如,之前提到count、min和max方 法,因为常用而被纳入标准库中。事实上,这些方法都是reduce操作。reduce方法有三个override的方法:Optional<T> reduce(BinaryOperator<T> accumulator);T reduce(T identity原创 2017-02-10 16:22:17 · 86984 阅读 · 11 评论 -
Java 8系列之Stream的基本语法详解
概述继Java 8系列之Lambda表达式之后,我们来了解Stream。Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等。聚合操作为了学习聚合的使用,在这里,先定义一个数据类:public class Student { int no原创 2017-02-10 16:27:52 · 78159 阅读 · 31 评论 -
JAVA字符串格式化-String.format()的使用
转载于: JAVA字符串格式化-String.format()的使用常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。 format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格转载 2016-09-26 20:20:32 · 710 阅读 · 0 评论 -
Java基本数据类型
转载自: Java基本数据类型Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定。由于是statical typed,导致Java语言也是强类型(Strong typed)的。强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类型限制了变量可以hold哪些值,表达式最终产生什么值。同时限制了这些值可以进转载 2016-10-13 21:47:46 · 672 阅读 · 0 评论 -
深入剖析Java中的装箱和拆箱
转载自:深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 以下是本文的目录大纲: 一.什么是装箱?什么是拆箱? 二.装箱和拆箱是如何实现的 三.面试中相关的问题 若有不正之处,请谅解和批评指正,不胜感激。 请尊重作者劳转载 2016-10-13 22:04:47 · 528 阅读 · 0 评论 -
java中基本数据类型和包装类型
基本数据类型这种类型是通过诸如 int a=7; 的形式来定义的,称为自动变量。这里自动变量是字面值。不是类的实例,即不是类的引用,这里并没有类的存在。a 是指向一个 int 类型的引用,指向 7 这个字面值。由于其大小确定生存期可知(这些定义在某个程序块中,程序块退出后,字段值就消失),因此存在栈中. 由于栈的数据可以共享,因此 int a=3; int b=3; 这段代码,编译器首先处理 i原创 2016-10-13 22:24:11 · 842 阅读 · 0 评论 -
深入理解final关键字
在Java中,final关键字可以用来修饰数据、方法、参数、类,下面我们来了解final的关键字的用法。基本用法final 数据对于基本类型,final使数值恒定不变;而对用对象引用,final使引用恒定不变。 final修饰的基本类型,一旦被初始化后,不能再被赋值。 final修饰的对象引用,一旦引用被初始化指向一个对象,就无法再把它改为指向另外一个对象。final 类当用final修原创 2016-10-16 15:12:27 · 5563 阅读 · 2 评论 -
Java-this关键字
转载至:Java中this关键字的几种用法当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量。(this是当前对象自己)如:public class Hello { String s = "Hello"; public Hello(String s) { System.out.println("s = " + s); Sys转载 2016-10-16 19:41:47 · 1533 阅读 · 0 评论 -
Java中的static关键字解析
转载至:Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔转载 2016-10-16 19:58:30 · 579 阅读 · 0 评论 -
Java中HashMap,LinkedHashMap,TreeMap的区别
转载至:Java中HashMap,LinkedHashMap,TreeMap的区别Java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的Hash转载 2016-11-22 09:07:18 · 9577 阅读 · 0 评论 -
Java 8系列之Lambda表达式
概述使用Lambda表达式也有一段时间了,有时候用的云里雾里的,是该深入学习Java 8新特性的时候了。作为Java最大改变之一的Lambda表达式,其是Stream的基础,那就以它开始吧。这里,我们先明确需要解决的问题:什么是闭包?Lambda表达式如何写?什么是函数接口?类型推断在Lambda中的体现。Lambda表达式lambda表达式的语法由参数列表、->和函数体组成。函数体既可以原创 2017-01-12 17:41:52 · 10920 阅读 · 6 评论 -
Java注解详解
文章目录参考资料源码地址概述Annotation元素默认值用途元注解@Documented@Target@Retention@Inherited@Override@SuppressWarnings抑制警告的关键字@Deprecated@SafeVarargs@FunctionalInterface@Repeatable检索注解参考资料Java中的注解是如何工作的?Java基础加强总结(一)...原创 2019-04-19 14:58:39 · 1292 阅读 · 0 评论