这写API可解决的问题 1. 集合元素的过滤 - FluentIterable Predicate Range Function 1) 先说Predicate<T>,这个相当与一个过滤原则,里面有个apply()方法,通过一定的条件返回true或false,依次判断元素需不需要过滤 其中T表示待过滤集合里面的元素类型,举个例子 package guavaexam.test; public class Man { private String name; private int age; pub…
1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: Introduction Guava Collection API Guava Basic Utilities IO API Cache API 2,为神马选择瓜娃? 瓜娃是java API蛋糕上的冰激凌(精华) 高效设计良好的API. 被google的开发者设计,实现和使用. 遵循高效的java这本书的好的语法实践. 使代码更刻度,简洁,简单. 使用java 1.5的特性, 流行的API,动态的开发 它提供了大量相关的应用…
本文节选自<设计模式就该这样学> 1 基于Java API实现通知机制 当小伙伴们在社区提问时,如果有设置指定用户回答,则对应的用户就会收到邮件通知,这就是观察者模式的一种应用场景.有些小伙伴可能会想到MQ.异步队列等,其实JDK本身就提供这样的API.我们用代码来还原这样一个应用场景,首先创建GPer类. /** * JDK提供的一种观察者的实现方式,被观察者 */ public class GPer extends Observable{ private String name = &qu…
FluentIterable 是guava集合类中常用的一个类,主要用于过滤.转换集合中的数据:FluentIterable是一个抽象类,实现了Iterable接口,大多数方法都返回FluentIterable对象,这也是guava的思想之一. 首先构造集合中的元素类型 public class User { private int age; private String name; public User() { } public User(int age, String name) { th…
public class FluentIterableTest { public static void main(String[] args) { Man man1 = new Man("Jack Miller", 18); Man man11 = new Man("Jack Miller", 18); Man man2 = new Man("Roy Miller", 18); Man man3 = new Man("Lily Mil…
1.字符串的处理 字符串的连接&拆分&匹配及常用操作 Joiner&Splitter @Test public void testJoiner() { String[] strs = new String[]{"pan",null,"teng"}; //由于字符串中含有null 因此会抛出异常,需要调用以下方法 //Joiner joiner = Joiner.on("-").skipNulls(); //跳过 null…
Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强.它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较.排序等操作中. 本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例.Ordering只是需要依赖于一个比较器(例如,Collections.max)的方法,并使其可作为实例方法.另外,Ordering提供了链式方法调用和加强现有的比较器. 下面我们看看Orde…
今天我们来看看Dynamics CRM Web API Function 吧, 这是一个新概念,刚接触的时候我也是比較的迷糊.这种命名确实是和之前的那套基于SOAP协议的API全然联系不上.好了,不说闲话了.这里的Function呢,就我来看,更像是一些被封装好的原生函数和老API中的Request几乎相同的意思,仅仅是API的架构方式变了,所以名称也就跟着变了. 我们之前要查看当前登录用户的信息.须要调用WhoAmIRequest,那如今呢?我们须要调用WhoAmI Function. 这里的…
一.Joiner 拼接字符串 1.join 拼接集合中的元素 System.out.println(Joiner.on(";").join(Ints.asList(1,2,3))); //1;2;3 2.skipNullls 过滤null Joiner joiner=Joiner.on(";").skipNulls(); System.out.println(joiner.join("1",null,"22")); //1;2…
如果你做过wysiwyg这样的app,一个很让人头疼的问题是如何保证执行bold,italic等格式化操作后保持先前鼠标所在的位置.要好好的解决这个问题,就必须将Selection和Range的api搞搞清楚. https://javascript.info/selection-range Selection and Range js可以获得当前的选中区域信息,可以选择或者去选择部分或者全部内容,清楚document中的选中部分,使用一个心的tag来进行包裹等操作.所有这些操作的基石就是Selc…