草庐IT

lambda表达式

全部标签

java - 使用 lambda 表达式按值类的成员搜索 TreeMap

我有一个与Java8中的lambda表达式相关的问题。考虑以下Message类:publicclassMessageimplementsMessageBase{privateStringid;privateStringmessage;privateStringauthor;privateLongtimestamp;publicMessage(){this.id=null;this.message=null;this.author=null;this.timestamp=null;}publicMessage(Stringid,Stringmessage,Stringauthor,Lon

java - lambda 表达式的序列化有哪些安全风险?

刚刚回顾了Streams和Java8Lambda功能,以及对不言自明的Oracle文档的最后评论LambdaExpressions状态:Youcanserializealambdaexpressionifitstargettypeanditscapturedargumentsareserializable.However,likeinnerclasses,theserializationoflambdaexpressionsisstronglydiscouraged.检查这个我发现了SO问题Howtoserializealambda?OP正在处理来自客户端代码的序列化lambda表达式

java - 函数接口(interface)作为 lambda 来对集合进行排序?

我正在研究lambda表达式,并且正在努力研究如何使用java.util.function.Function对集合进行排序。有人可以帮助我或给我一些关于如何实现这一目标的指示吗?我有一本书POJO和一个将书籍存储在集合中的类。我正在尝试使用Function接口(interface)的lambda表达式来返回相同但已排序的集合。我可以使用Collections.sort()并以这种方式返回它,但我认为有一种方法可以使用Function接口(interface)来完成。publicclassBookTable{privateMapbookMap;publicBookTable(){this

Java8 从类中检索 lambda setter

我正在尝试为私有(private)字段的setter获取lambda方法句柄,但由于某种原因,无法找到setter。这是我正在使用的功能接口(interface):@FunctionalInterfacepublicinterfaceISetter{voidset(Tobject,Rvalue);}这是用来获取setter的方法:publicISettergetSetter(Classclazz,StringfieldName,ClassfieldType)throwsThrowable{MethodHandles.Lookupcaller=MethodHandles.lookup()

java - AWS/Lambda/Java 上的 Elasticsearch 客户端 - 2.5 秒客户端启动时间

我们使用AWSLambda(Java)和elasticsearch客户端连接到AWS上的托管elasticsearch实例。我在第一个请求上遇到了大约2.5秒的长时间等待(在冷启动之上)。之后它非常快。我真的无法弄清楚这种延迟是从哪里来的,我正在尝试对其进行优化。privatevoidtestPerformanceElasticSearch()throwsException{log.info("1.Beforetestingelasticsearchclient");AWS4Signersigner=newAWS4Signer();signer.setServiceName("es")

c# - 是否有正则表达式的通用/标准子集?

正则表达式中使用的“控制字符”在正则表达式解析器的不同实现中是否有很大差异(例如,Ruby、Java、C#、sed等中的正则表达式)。例如,在Ruby中,\D表示不是数字;它在Java、C#和sed中的含义相同吗?我想我想问的是,是否存在所有正则表达式解析器都支持的正则表达式的“标准”?如果没有,是否有一些应该学习和掌握的通用子集(然后在遇到特定解析器时学习它们)? 最佳答案 请参阅regular-expressions.info上的基本语法列表.和acomparison不同的“味道”。

java - 返回重叠的正则表达式

是否有一个正则表达式可以捕获一个表达式的所有实例,而不管它们是否重叠?例如在/abc/def/ghi中,如果我想捕获所有以/开头的字符串。正则表达式(/.*)只返回整个字符串,但我希望它匹配/def/ghi和/ghi 最佳答案 当然,匹配一个空字符串并在它之后放置一个前瞻性捕获组中的/.*:Matcherm=Pattern.compile("(?=(/.*))").matcher("/abc/def/ghi");while(m.find()){System.out.println(m.group(1));}将打印:/abc/def/

无法使用TypeFamilies匹配表达式类型

我试图了解扩展如何TypeFamilies工作,但是当类型系统无法推断正确的类型时,我感到非常沮丧,例如我认为简单的例子:{-#LANGUAGETypeFamilies#-}{-#LANGUAGEFlexibleContexts#-}{-#LANGUAGEOverloadedStrings#-}importData.TextimportData.StringclassAClasstwheretypefamilyATypet::*somefunction::t->ATypetinstanceAClassTextwheretypeATypeText=Intsomefunction=const4in

java - 一个 Java 类中使用的最大 lambda 数是多少?

这是一个纯粹概念性的问题。Java8中的Lambda被转换为使用invokedynamic调用的方法。.如果JVM限制了一个类可以拥有的最大方法数,这是否意味着一个类中使用的最大lambdas数也受到JVM的严格限制?这个问题和这个问题差不多吗?WhatisthemaximumnumberofmethodsaJavaclasscanhave? 最佳答案 Java语言规范没有强制要求限制,因此我们只有技术限制。该规范也没有强制要求特定的编译形式,因此即使是技术限制也是模糊的。Lambda表达式被编译为托管lambda表达式主体的类文件

java - PostgreSQL 提示 : You will need to rewrite or cast the expression. 列 "state"是状态类型,但表达式是字符类型变化

我正在尝试使用java创建SQL语句。问题是我正在使用stmt.setString(9,ev.getState().status());对于我试图插入到状态类型的SQL列中的变量CREATETYPESTATUSASENUM('APPROVED','CLOSED','STARTED','WAITING');它抛出一个异常column"state"isoftypestatusbutexpressionisoftypecharactervaryingHint:Youwillneedtorewriteorcasttheexpression.我是犯了错误还是我真的需要在sql中转换值?如果是,在