新特性

Scala2.10新特性之 String Interpolation

你。 提交于 2019-12-04 14:28:14
String Interpolation http://docs.scala-lang.org/overviews/core/string-interpolation.html 2013-1-7 (英语四级未过,借助各种词典、翻译,历时两个晚上,终于翻译完了,如有翻译错误或用词不当,欢迎指正) 介绍 从 Scala2.10.0 开始,Scala提供一个新的机制,通过你的数据创建字符串:字符串插值(String Interpolation)。它允许用户将变量的引用直接嵌入到处理字符串字面量(processed string literals)中。例如: val name = "James" println(s"Hello, $name") // Hello, James 上文中,s"Hello, $name"是一个处理字符串字面量,这意味着编译器做了一些额外的工作。处理字符串字面量被表示为一个在"(双引号)之前的字符集合(原文:A processed string literal is denoted by a set of characters precedding the ". 这句没太看懂) 用法 Scala提供了三个开箱即用的字符串插入方法:s,f和raw 插值器s 在任何字符串字面量前追加s,这个字符串就允许直接包含变量。前面已经看过示例。 在示例中,

JDK8新特性(1):Lambad表达式

为君一笑 提交于 2019-12-03 07:33:19
Lambda表达式: jdk8前,达到lambda效果的实现方案是使用匿名方法的方式来实现 new NamedParameterJdbcTemplate(jdbcTemp).query(selSql, parameters, new RowMapper<String>() { @Override public String mapRow(ResultSet rs, int rowNum) throws SQLException { return rs.getString("originalZuMD5"); } }); jdbcTemp的query方法的第三个参数是一个接口对象。 所以该方法的第三个参数只能放一个实现该接口方法的实现类对象才行。 lamdba表达式只需要在第三个参数这样写即可 (实现方法参数1,实现方法参数2) -> { 实现方法的逻辑代码即可 } new NamedParameterJdbcTemplate(jdbcTemp).query(sql, parameters,(rs,rowNum) ->{ return rs.getString("originalZuMD5"); }); 这样就可以了! 下一章节介绍Stream API,教你抛弃for循环,JDK8的流式循环在大家的大部分场景在效率方面并没有智的提升

iOS 10 新特性介绍(转载)

浪子不回头ぞ 提交于 2019-12-01 15:07:42
https://github.com/ChenYilong/iOS10AdaptationTips 1. iOS 10 新特性以及适配点 1.1 SiriKit 所有第三方应用都可以用Siri,支持音频、视频、消息发送接收、搜索照片、预订行程、管理锻炼等 1.2 Proactive Suggestions 系统预先建议 背景就是iOS9的时候系统给予的主动建议 通过:Spolight搜索,Safari搜索,Handoff,或者siri建议。 在iOS10之后新增了,键盘QuickType建议,地图,车载娱乐,应用切换,siri交互,锁屏播放。eg:你正在一个应用里看一个酒店,可以使用mapitem属性保存正在查看的这个酒店的位置,然后你切换旅行或地图App时这个位置可以自动提供使用。 如果你需要这样利用系统来共享一个位置,那你需要指定这个位置的经纬度、地名、电话等属性来便于siri的直接调起。 1.3 Message App Extension 在 iOS 10 里面开发者可以给 Message.app 提供两种 App Extension,分别是可以提供一个表情包(没错,英文名就叫 Sticker Pack),和一个自定义的界面,用于表情搜索等 1.4 User Notifications 用户通知 iOS 10 中以前杂乱的和通知相关的 API 都被统一了

Java 8新特性探究 前言

偶尔善良 提交于 2019-11-29 23:28:03
自2013年6月13日,oracle就已经发布的Java 8特性完备版本(M7),但最终GA版本将在2014年3月18日(已第二次跳票,原计划今年9月发布的,据官网宣称是为了解决安全问题......),相信大家多多少少都听闻了关于Java 8的改进,总得来说,Java 8从语言,核心库,国际化、虚拟机,安全性,平台等方面一共有55个特性,本系列博文将带大家对这55个特性进行探究,不求做到最好,只求详细,深入浅出,通俗易懂。 java几个重大版本 java从1995年发布到现在,也走过18年了,个人认为,其中几个java版本都肩负着重大使命,影响甚远; jdk1.0 1995年5月23日诞生,Oak语言改名为Java,并提出“Write Once ,Run anywhere"; jdk1.2 1999年6月发布,将java划分为J2SE,J2ME,J2EE三大平台; jdk1.4 主要是性能提升,在2000年时候JAVA成为世界上最流行的电脑语言,跟这个版本离不开关系,估计国内还有大量的java应用是运行在此版本上; jdk5 诞生于2004年,他的使命就是易用,加入1. 泛型 2 自动装箱/拆箱 3 for-each 4 static import 5 变长参数等, 为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0; jdk8 将在2014年3月份发布,迄今为止

JAVA8新特性之:函数式接口

廉价感情. 提交于 2019-11-29 03:39:10
什么是函数式接口(Functional Interface) 所谓的函数式接口,当然首先是一个接口,然后就是在这个接口里面 只能有一个抽象方法 。 这种类型的接口也称为SAM接口,即Single Abstract Method interfaces。 函数式接口用途 它主要用在Lambda表达式和方法引用(实际上也可认为是Lambda表达式)上。 如定义了一个函数式接口如下: @FunctionalInterface interface GreetingService { void sayMessage(String message); } 使用Lambda表达式来表示该接口的一个实现(注:JAVA 8 之前一般是用匿名类实现的): GreetingService greetService1 = message -> System.out.println("Hello " + message); 关于@FunctionalInterface 注解 Java 8为函数式接口引入了一个新注解@FunctionalInterface,主要用于 编译级错误检查 ,加上该注解,当你写的接口不符合函数式接口定义的时候,编译器会报错。 正确例子 ,没有报错 : @FunctionalInterface interface GreetingService { void sayMessage