草庐IT

lambda表达式

全部标签

java - 在 spring XML 中使用 Java8 Lambda 函数

假设我有这个类(class):publicclassFooToBarTransformer{publicBartransform(Foofoo){//dosomecoolstuff}}我想在其他类中将其作为Function使用:publicclassThing{publicThing(Functionf){this.converter=f;}}现在,如果我通过Java实例化一个Thing,我会像这样使用Java8Lambdas来完成它:FooToBarTransformertransformer=newFooToBarTransformer();newThing((foo)->tran

java - 在 java 中使用正则表达式过滤日志

描述比较长,还请大家多多包涵:我的日志文件大小从300mb到1.5Gb不等,需要根据搜索键对其进行过滤。日志的格式是这样的:24May201717:00:06,827[INFO]123456(Blah:Blah1)Service-name::Singlelinecontent24May201717:00:06,828[INFO]567890(Blah:Blah1)Service-name::Content(Mayspanmultiplelines)24May201717:00:06,829[INFO]123456(Blah:Blah2)Service-name:Multipleline

Lambda 表达式在 Java 中的详解与实践

引言自Java8版本以来,Lambda表达式作为一种强大的功能被引入到Java编程语言中。Lambda表达式的出现极大地提升了Java开发者的生产力,使得代码更加简洁、易读且高效。通过Lambda表达式,我们可以更直观地定义匿名函数,并将其作为方法参数传递或者赋值给变量,从而更好地支持函数式编程范式。Lambda表达式的概念Lambda表达式是一种简化版的匿名内部类,它允许我们以更紧凑的方式编写单方法接口(即函数式接口)的实现。一个简单的Lambda表达式结构如下:(parameters)->expressionparameters:表示Lambda表达式的参数列表,可以是零个、一个或多个参数

java - 自定义注释中的 Spring 表达式语言

我想在自定义注释中使用Spring表达式语言。此注释将由自定义方面使用。检查一下:@StatisticEventTrigger(value=TestStatisticEvent.class,expression="#p1")publicvoidsomeOtherMethod(Stringarg1,Longarg2){如您所见,我想使用表达式(在本例中)来检索一些特定的参数。当我有我的方面时,触发一个带注释的方法,我想评估spring表达式(以编程方式)以检索一个值以用于进一步的业务;)有什么想法吗?到目前为止,Google不是我的friend! 最佳答案

java - 在 Java 正则表达式中匹配 y 组中的 x

是否可以用Java编写一个正则表达式模式来匹配,例如,3个中的2个(或4个中的3个等)组?例如,我有以下正则表达式:((?=.*\d)(?=.*[a-z])(?=.*[A-Z]))这将只允许匹配所有三个组的模式——即它必须包含一个数字、一个小写字符和一个大写字符。我想让它验证一个模式,该模式至少包含三个组中的两个(例如,一个数字和一个大写字符或一个小写和大写字符)。是否可以在单个语句中实现,还是我必须编写单独的正则表达式并循环遍历它们? 最佳答案 您将需要交替考虑所有可能的情况:((?=.*\d)(?=.*[a-z])|(?=.*\

java - AWS Lambda - 如果我启动一个线程,当 Lambda 卡住/解冻时会发生什么?

我有一个启动后台线程的基于Java的AWSLambda函数。该线程运行一个计划任务,该任务向外部服务报告指标。根据theLambdadocs,Lambda函数在完成执行后会“卡住”一段时间,然后可以“解冻”并重新使用ifthefunctionistriggeredagain在短期内。我的问题是发生这种情况时后台线程会发生什么。例如,我在包含我的处理程序函数的类的构造函数中启动了我的后台线程。根据文档,处理函数范围之外的所有变量都将保持初始化状态,所以我的线程应该仍然存在,但它还会运行吗?我的线程在后台运行这一事实会阻止Lambda首先完成执行吗?或者它是否会超过五分钟的限制,因为它还没

java - 在 AWS Lambda 函数上创建 Parquet 文件

我在S3上收到一组(1Mb)CSV/JSON文件,我想将其转换为Parquet。我期望能够使用Lambda函数轻松地将这些文件转换为Parquet。在查看Google后,我没有找到没有某种Hadoop的解决方案。因为这是一个文件转换,我不敢相信没有一个简单的解决方案。有人有一些Java/Scala示例代码来进行这种转换吗? 最佳答案 如果您的输入JSON文件不大(pyarrow,尽管路线有点复杂。它涉及使用Pandas:df=pd.read_json(file.json)然后将其转换为parquet文件:pq=pa.parquet.

java - 分隔多个正则表达式的最佳分隔符

我需要将多个正则表达式放在一个字符串中,然后将其解析为单独的正则表达式。如下图regex1regex2regex3问题是我不确定最好使用哪个分隔符代替来分隔表达式示例中所示,以便我可以在解析回字符串时安全地拆分字符串。限制是,我不能在多行中创建字符串或使用xml或json字符串。因为这串表达式应该很容易配置。期待任何建议。已编辑:问:为什么必须是单个字符串?答:系统有一个配置管理器,可以从属性文件加载配置。并且属性包含像这样的行com.some.package.Class1.Field1:valuecom.some.package.Class1.Expressions:exp1exp2

java - 匹配 Java 字符串的正则表达式

在Scala的解析器组合器中(特别是JavaTokensParser)有一个定义stringLiteral匹配类似Java的字符串。defstringLiteral:Parser[String]=("\""+"""([^"\p{Cntrl}\\]|\\[\\'"bfnrt]|\\u[a-fA-F0-9]{4})*"""+"\"").r不幸的是,这个正则表达式doesnotworkforlongstrings.有谁知道可以重复使用的实现,或者对正则表达式的修改更节省空间? 最佳答案 有趣的问题!!只是玩弄这个,并想出了以下内容:val

使用 lambda 表达式时 Java 8 泛型 + 异常编译时错误

几天前,我开始重构一些代码以使用新的Java8Streams库。不幸的是,我在执行Stream::map时遇到了编译时错误,该方法被声明为抛出一个泛型E,该泛型E进一步指定为RuntimeException。有趣的是,当我切换到使用方法引用时,编译时错误消失了。这是一个错误,还是我的方法引用不等同于我的lambda表达式?(此外,我知道我可以将p->p.execute(foo)替换为Parameter::execute。我的实际代码具有执行方法的附加参数)。错误信息Error:(32,43)java:unreportedexceptionE;mustbecaughtordeclared