当前位置: 首页 > news >正文

可以放友情链接的网站网站关键词多少个最好

可以放友情链接的网站,网站关键词多少个最好,ppt制作模板免费下载,付费下载网站源码我们在TouK举办了一个名为“每周技术研讨会”的活动#xff0c;即每个星期五的16:00#xff0c;每个愿意参加的人都有一个演讲。 我们展示了我们在家学习和学习的东西#xff0c;但是我们也设有一个公告板#xff0c;上面有人们想听的话题。 上周MaciejPrchniak谈论了Cloju… 我们在TouK举办了一个名为“每周技术研讨会”的活动即每个星期五的16:00每个愿意参加的人都有一个演讲。 我们展示了我们在家学习和学习的东西但是我们也设有一个公告板上面有人们想听的话题。 上周MaciejPróchniak谈论了Clojure 这次有几个人要求介绍Google Guava库 。 由于这是一项艰巨而简单的任务所以我很乐意交付。 WTF是番石榴吗 这是一组非常简单的基本类您最终还是要自己编写。 仅由Google来思考Apache的共同点。 只是为了让您的生活更轻松一点。 Wiktor Gworek在Javarsowia 2010上做了一个早期v04 演讲 另外一个是波兰语演讲 。 在撰写本文时最新版本是v07已经过Mavenized可以在公共Maven repo上找到 。 这是一些有趣的事情的快速回顾。 不过不要期望任何花哨的东西Guava非常基础。 VisibleForTesting 一个简单的注释告诉您为什么放宽了特定的属性访问限制。 在测试中使用的一个常见技巧是放宽对特定属性的默认访问限制以便您可以在单元测试中使用它该单元测试位于相同的程序包中尽管在不同的目录中。 无论是好是坏请记住给开发人员一个提示。 考虑 public class User {private Long id;private String firstName;private String lastName;String login; 为什么登录程序包有作用域 public class User {private Long id;private String firstName;private String lastName;VisibleForTesting String login; 啊那是为什么。 前提条件 Guava有一些防御性编程的先决条件按合同设计但不如Apache Commons / Spring框架具备的条件好。 有趣的一件事是Guava解决方案返回了对象因此可以进行内联。 考虑 使用手写的前提条件 public User(Long id, String firstName, String lastName, String login) {validateParameters(id, firstName, lastName, login);this.id id;this.firstName firstName;this.lastName lastName;this.login login.toLowerCase();}private void validateParameters(Long id, String firstName, String lastName, String login) {if(id null ) {throw new IllegalArgumentException(id cannot be null);}if(firstName null || firstName.length() 0) {throw new IllegalArgumentException(firstName cannot be empty);}if(lastName null || lastName.length() 0) {throw new IllegalArgumentException(lastName cannot be empty);}if(login null || login.length() 0) {throw new IllegalArgumentException(login cannot be empty);}} 使用番石榴先决条件 public void fullyImplementedGuavaConstructorWouldBe(Long id, String firstName, String lastName, String login) {this.id checkNotNull(id);this.firstName checkNotNull(firstName);this.lastName checkNotNull(lastName);this.login checkNotNull(login);checkArgument(firstName.length() 0);checkArgument(lastName.length() 0);checkArgument(login.length() 0);} 感谢Yom注意到checkNotNull必须在checkArgument之前进行尽管这有点不直观 使用spring或apache commons前提两个库的用法看起来完全一样 public void springConstructorWouldBe(Long id, String firstName, String lastName, String login) {notNull(id); hasText(firstName); hasText(lastName); hasText(login);this.id id;this.firstName firstName;this.lastName lastName;this.login login;} CharMatcher 对于讨厌regexp或只想要简单美观的对象样式模式匹配解决方案的人。 例子 和/或易用性 String input This invoice has an id of 192/10/10;CharMatcher charMatcher CharMatcher.DIGIT.or(CharMatcher.is(/));String output charMatcher.retainFrom(input); 输出是192/10/10 否定 String input DO NOT scream at me!;CharMatcher charMatcher CharMatcher.JAVA_LOWER_CASE.or(CharMatcher.WHITESPACE).negate();String output charMatcher.retainFrom(input); 输出是DONOT 范围 String input DO NOT scream at me!;CharMatcher charMatcher CharMatcher.inRange(m, s).or(CharMatcher.is(a).or(CharMatcher.WHITESPACE));String output charMatcher.retainFrom(input); 输出是sram am 细木工/分离器 顾名思义它是正确完成字符串连接/拆分的方法尽管我发现调用有点儿反转了……哦那是java。 String[] fantasyGenres {Space Opera, Horror, Magic realism, Religion};String joined Joiner.on(, ).join(fantasyGenres); 输出太空歌剧恐怖片魔幻现实主义宗教 您可以跳过空值 String[] fantasyGenres {Space Opera, null, Horror, Magic realism, null, Religion};String joined Joiner.on(, ).skipNulls().join(fantasyGenres); 输出太空歌剧恐怖片魔幻现实主义宗教 您可以填写空值 String[] fantasyGenres {Space Opera, null, Horror, Magic realism, null, Religion};String joined Joiner.on(, ).useForNull(NULL!!!).join(fantasyGenres); 输出太空歌剧NULL !!!恐怖魔术现实主义NULL !!!宗教 您可以加入地图 MapInteger, String map newHashMap();map.put(1, Space Opera);map.put(2, Horror);map.put(3, Magic realism);String joined Joiner.on(, ).withKeyValueSeparator( - ).join(map); 输出1 太空歌剧2 恐怖3 魔幻现实主义 Split返回Iterable而不是JDK数组 String input Some very stupid data with ids of invoces like 121432, 3436534 and 8989898 inside;IterableString splitted Splitter.on( ).split(input); 尽管您不能为每个“列”指定不同的长度但Split会进行固定长度的拆分这使得在解析某些导出效果不佳的Excel时它的使用受到了限制。 String input A 1 1 1 1\n B 1 2 2 2\n C 1 2 3 3\n D 1 2 5 3\n E 3 2 5 4\n F 3 3 7 5\n G 3 3 7 5\n H 3 3 9 7;IterableString splitted Splitter.fixedLength(3).trimResults().split(input); 您可以在拆分时使用CharMatcher String input Some very stupid data with ids of invoces like 123231/fv/10/2010, 123231/fv/10/2010 and 123231/fv/10/2010;IterableString splitted Splitter.on(CharMatcher.DIGIT.negate()).trimResults().omitEmptyStrings().split(input); 谓词/函数 谓词本身并不多它只是一个带有返回true的方法的接口但是如果将谓词与函数和Collections2一个简化了集合处理的番石榴类结合使用则可以在工具箱中找到一个不错的工具。 但是让我们从基本谓词使用开始。 假设我们要查找是否有用数字登录的用户。 接种将是返回布尔值 Predicates.in(users).apply(shouldNotHaveDigitsInLoginPredicate); 谓词看起来像那样 public class ShouldNotHaveDigitsInLoginPredicate implements PredicateUser {Overridepublic boolean apply(User user) {checkNotNull(user);return CharMatcher.DIGIT.retainFrom(user.login).length() 0;} } 现在让我们添加一个函数该函数会将用户转换为他的全名 public class FullNameFunction implements FunctionUser, String {Overridepublic String apply(User user) {checkNotNull(user);return user.getFirstName() user.getLastName();} } 您可以使用静态方法转换调用它 ListUser users newArrayList(new User(1L, sylwek, stall, rambo),new User(2L, arnold, schwartz, commando));ListString fullNames transform(users, new FullNameFunction()); 现在让谓词与函数结合使用以打印登录名不包含数字的用户名 ListUser users newArrayList(new User(1L, sylwek, stall, rambo), new User(2L, arnold, schwartz, commando), new User(3L, hans, kloss, jw23));CollectionUser usersWithoutDigitsInLogin filter(users, new ShouldNotHaveDigitsInLoginPredicate()); String names Joiner.on(\n).join( transform(usersWithoutDigitsInLogin, new FullNameFunction()) ); 我们没有得到的是 折叠减少和元组 。 哦好吧如果您想使用Java中的函数 您可能还是会转向Java Functional Library 对吧 案例格式 是否曾经想过用一个衬里将这些丑陋的PHP Pear名称转换为漂亮的java / cpp样式 没有 好吧无论如何您可以 String pearPhpName Really_Fucked_Up_PHP_PearConvention_That_Looks_UGLY_because_of_no_NAMESPACES; String javaAndCPPName CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL , pearPhpName); 输出ReallyFuckedUpPhpPearconventionThatLooksUglyBecauseOfNoNamespaces 但是由于Oracle接管了Sun您实际上可能希望将其转换为sql风格对吗 String sqlName CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, javaAndCPPName); 输出real_fucked_up_php_pearconvention_that_looks_ugly_because_of_no_namespaces 馆藏 番石榴具有Google集合库1.0的超集这确实是将这种依赖关系包含在pom中的一个很好的理由。 我什至不会尝试描述所有功能而只是指出一些不错的东西 您几乎拥有所有东西的不可变版本 您可以在常见类型如列表集合地图对象数组上获得一些不错的静态和静态类型化方法这些方法包括 基于返回类型创建的简单方法例如newArrayList 转换应用返回不可变版本的函数的方式 分区分页 逆转 现在还有更多有趣的收藏。 多图 Mutlimap基本上是一个映射单个键可以具有许多值。 是否曾经在您的代码中创建Map T1Set T2 您不再需要了。 MultimapInteger, String multimap HashMultimap.create();multimap.put(1, a);multimap.put(2, b);multimap.put(3, c);multimap.put(1, a2); 当然也有不可变的实现ImmutableListMultimapImmutableSetMultomap等。 您可以在线最多5个元素或使用构建器构造不可变项 MultimapInteger, String multimap ImmutableSetMultimap.of(1, a, 2, b, 3, c, 1, a2); MultimapInteger, String multimap new ImmutableSetMultimap.BuilderInteger, String().put(1, a).put(2, b).put(3, c).put(1, a2).build(); 双图 BiMap是仅具有唯一值的地图。 考虑一下 Test(expected IllegalArgumentException.class) public void biMapShouldOnlyHaveUniqueValues() {BiMapInteger, String biMap HashBiMap.create();biMap.put(1, a);biMap.put(2, b);biMap.put(3, a); //argh! an exception } 这使您可以反转地图因此值成为关键反之亦然 BiMapInteger, String biMap HashBiMap.create(); biMap.put(1, a); biMap.put(2, b); biMap.put(3, c);BiMapString, Integer invertedMap biMap.inverse(); 不知道我实际上想用它做什么。 约束条件 这使您可以在集合上添加约束检查以便仅添加通过约束的值。 想象一下我们想要一个在他们的登录名中带有首字母“ r”的用户集合。 ConstraintUser loginMustStartWithR new ConstraintUser() {Overridepublic User checkElement(User user) {checkNotNull(user);if(!user.login.startsWith(r)) {throw new IllegalArgumentException(GTFO, you are not Rrrrrrrrr);}return user;} }; 现在进行测试 Test(expected IllegalArgumentException.class) public void shouldConstraintCollection() {//givenCollectionUser users newArrayList(new User(1L, john, rambo, rambo));CollectionUser usersThatStartWithR constrainedCollection(users, loginMustStartWithR);//whenusersThatStartWithR.add(new User(2L, arnold, schwarz, commando)); } 您还可以立即获得notNull约束 //notice its not an IllegalArgumentException :( Test(expected NullPointerException.class) public void notNullConstraintShouldWork() {//givenCollectionInteger users newArrayList(1);CollectionInteger notNullCollection constrainedCollection(users, notNull());//whennotNullCollection.add(null); } 需要记住的事情约束条件不是检查集合中已经存在的数据。 桌子 正如预期的那样表是具有列行和值的集合。 我猜没有更多的Map T1Map T2T3 。 用法很简单您可以转置 TableInteger, String, String table HashBasedTable.create(); table.put(1, a, 1a); table.put(1, b, 1b); table.put(2, a, 2a); table.put(2, b, 2b);Table transponedTable Tables.transpose(table); 就是这样伙计们。 我没有介绍util.concurrent原语io和net软件包但您可能已经知道会发生什么。 祝您编程愉快别忘了分享 参考 Solid Craft博客上来自JCG合作伙伴 Jakub Nabrdalik的Google Guava v07示例 。 翻译自: https://www.javacodegeeks.com/2012/10/google-guava-v07-examples.html
http://www.zqtcl.cn/news/393266/

相关文章:

  • 做网站服务怎么赚钱产品展示型的网站功能有哪些
  • 丹东网站制作宁波网站建设公司制作网站
  • 南宁建设工程质量网站九江网站建设九江
  • 永州市住房和城乡建设厅网站服务器可以做几个网站
  • 哪里学网站建设与管理做移动端电影网站
  • 境外企业网站推广大冶市建设局网站
  • 户网站建设的不全.阿里巴巴国际站
  • 定制手机壳的网站能在家做的兼职的网站
  • 温州营销型网站建设郴州网络推广公司
  • asp.net 做网站源代码网站怎么做配置文件夹
  • 网站建设云尚网络wordpress首页flash
  • 北京优化网站宁波网络营销策划公司
  • 网站建设项目前分析电商运营一般要学多久
  • 哪个网站可以做卖房网站菜单模板
  • 网站推广渠道特点郑州百度推广外包
  • 合肥高端网站建设设计公司wordpress 多语言主题
  • 北京工程工程建设交易信息网站wordpress 角色 功能
  • 做购物网站有什么要求吗wordpress查看访问量
  • 多城市网站设计阿里云网站访问不了怎么办
  • 南岗哈尔滨网站建设开发小程序多少费用
  • 百度网站入口特效词品牌企业网站建设公司
  • wordpress找回管理员密码网站关键词排名优化工具
  • 望城建设局网站网站建设与维护可行性报告
  • 免费php网站模板下载手机端网站如何优化
  • 自己做的网站 打开了没有图片注册工程公司名称大全
  • 做网站的团队业绩怎么写WordPress 去掉副标题
  • 学校网页网站模板wordpress更换域名还是之前链接
  • 市面上有什么搭建网站工作室石家庄做网站和宣传的
  • 视频图站主题 wordpress快速收录提交入口
  • 外贸视频网站投资理财网站开发