抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

freebyte

莱羊的技术博客

类型推断1. 先来说说泛型泛型是Java SE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。通俗点将就是“类型的变量”。这种类型变量可以用在类、接口和方法的创建中。理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作: 123List<Apple> box = new ArrayList&l...

Java8-接口新的两种方法java8 版之前,接口只有抽象方法,而在Java 8,为接口新增了两种类型的方法。 第一种是默认方法;第二种是静态方法。 1. 默认方法默认方法使用了default关键字修饰方法名,实际上接口不包含任何实现的方法,而在Java 8中,可以通过使用default关键字来添加默认的方法实现。 接口的实现类可以直接使用这些默认的方法,同时还可以重写默认的方法,这不是强...

Base64支持对Base64编码的支持已经被加入到Java 8官方库中,这样不需要使用第三方库就可以进行Base64编码,例子代码如下: 123456789101112131415161718192021222324252627282930313233343536package com.ehking.example.java8.newfeature.demo11;import java.n...

强制终止进程当你用Java启动外部进程后,一旦这个进程崩溃,主程序就会陷入很麻烦的境地。现在,Java 8中的Process类提供了两个新方法,可以来帮你管制这些烦人的进程了。第一个是isAlive()方法,我们可以利用这个方法来判断指定的外部进程是否还存活着。第二个方法更强大,它是destroyForcibly()方法,可以将崩溃或者不再需要的进程强制终止。 StampedLock看到这个...

五.方法引用方法引用使得开发者可以直接引用现存的方法、Java类的构造方法或者实例对象。方法引用和Lambda表达式配合使用,使得java类的构造方法看起来紧凑而简洁,没有很多复杂的模板代码。 语法:如果是静态方法,则是ClassName::methodName。如 Object ::equals如果是实例方法,则是Instance::methodName。如Object obj=...

Java8-Lambda表达式

1. Lambda表达式的使用

Lambda表达式(也称为闭包)是Java 8中最大和最令人期待的语言改变。它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理:函数式开发者非常熟悉这些概念。很多JVM平台上的语言(Groovy、Scala等)从诞生之日就支持Lambda表达式,但是Java开发者没有选择,只能使用匿名内部类代替Lambda表达式。

Stream API流API是Java 8引入了函数式编程的证明,Stream API提供了元素流的函数式操作,包括list、set、map等,还支持过滤filtering、映射mapping、移除集合中的重复元素等。 可以从集合、数组、读缓冲区等获取流Stream。这是目前为止最大的一次对Java库的完善,以便开发者能够写出更加有效、更加简洁和紧凑的代码。 流(Stream)仅仅代表着数据...

Optional类Java 8在java.util包中新增了Optional类,Optional类是一个可以包含或不可以包含非空值的容器对象。每一个Java项目,最主要的重复语句就是检查空指针异常NullPointerException。我们使用任何对象,都需要检查此对象是否为空,如果对象不为空我们才执行处理语句。在Java 8之前,Google Guava引入了Optionals类来解决N...

时间API在Java 8版之前,如果我们想格式化日期,必须使用SimpleDateFormat类,用它格式化输入的日期类。Java 8引入了新的Date-Time API(JSR 310)来改进时间、日期的处理。时间和日期的管理一直是最令Java开发者痛苦的问题。java.util.Date和后来的java.util.Calendar一直没有解决这个问题(甚至令开发者更加迷茫)。 因为上面这...

Nashorn JavaScript引擎Java 8提供了新的Nashorn JavaScript引擎,使得我们可以在JVM上开发和运行JS应用。Nashorn JavaScript引擎是javax.script.ScriptEngine的另一个实现版本,这类Script引擎遵循相同的规则,允许Java和JavaScript交互使用,例子代码如下: 123456789101112131415...