草庐IT

lambda表达式

全部标签

java - 使用正则表达式的数学集验证

我需要验证给定字符串的用户并验证它是一个有效的集合,可能是一个包含内部集合的集合。示例:1){1,2,3,4}=valid2){1,2,{3,4},5}=valid3)1,2,3,4=invalid(missingbrackets)4){1,2,{3,4,5}=invalid(missinginnerbracket)这是我正在使用的正则表达式(为了便于阅读而分解):StringelementSeparator="(,\\s)?";StringvalidElement="(\\{?[A-Za-z0-9]*\\}?"+elementSeparator+")*";Stringregex="^

java - Java 正则表达式中 `(.*)*` 、 `(.*)+` 、 `(.+)*` 的奇怪问题

为了重现最近问题中所述的问题-Whydoes(.*)*maketwomatchesandselectnothingingroup$1?我尝试了*和+的各种组合,在括号内外,我得到的结果出乎我的意料。我希望输出与该问题中接受的答案中解释的输出相同,并且在另一个重复的问题中被标记为Perl-Whydoesn'tthe.*consumetheentirestringinthisPerlregex?.但它的行为方式不同。为简单起见,这是我尝试的代码:-Stringstr="input";String[]patterns={"(.*)*","(.*)+","(.+)*","(.+)+"};for

java - 在 Java 8 中使用 Lambda 遍历一个 Map of Maps?

我是java和lambda的新手,我想在map的map中找到值的总和和平均值。我的对象就像Map>browserData;数据格式>>>>>>>>>最终的结果需要两张图,一张求和,一张求平均值map1=map2=所以上面例子的结果应该是map1=map2=我怎样才能做到这一点? 最佳答案 想法是流式传输内部映射的每个条目并应用适当的收集器来计算您需要的值:Mapstats=browserData.values().stream().flatMap(m->m.entrySet().stream())//Streamtheinnerma

java - 使用方法引用与 lambda 时,堆栈跟踪的可导航性是否较低?

我刚刚在Eclipse中进行了快速试验。publicclassStackTractTest{staticclassNasty{publicIntegertoInt(){if(1==1)thrownewRuntimeException();return1;}}@TestpublicvoidmethodReference(){Stream.of(newNasty()).map(Nasty::toInt).findFirst();}@Testpublicvoidlambda(){Stream.of(newNasty()).map(n->n.toInt()).findFirst();}}当方法

java - 正则表达式验证 csv 字符串

我在javaFX中有一个TextField,其中背景颜色会根据内容是否有效而相应变化。有效:987654321198765432121010191170191124101917104308019178200111910840无效:010191010312403149基本上:只有数字第一组4或9位数字如果第一组9位->总共只有两组如果第一组4位->一共三四五组1-9999两位和三位数字四五位数字0-9999现在将这些(有效)行之一视为一个“Ident”。当前的正则表达式是:finalStringbase="(\\d+\\s+\\d+)|(\\d+\\s+\\d+\\s+\\d+(\\s+

java - JDK 9 是否应该不允许在覆盖方法中引用最终字段的 Lambda 表达式实例化?

我一直在使用新的EclipseNeon,我的一些代码立即开始出错。起初这对我来说很奇怪,但后来我发现了hereNeonECJ(EclipseJavaCompiler)采用了JDK9早期版本编译器的态度。我没有遇到该链接中的相同问题,而是我将在此处解释的另一个问题。Lambda表达式声明作为字段的问题这是一个测试类,在EclipseNeon、JDK9编译器和JDK8编译器(虽然不是以前版本的Eclipse)中给我一个编译错误.publicclassWeird{privatefinalFunctionaddSuffix=text->String.format("%s.%s",text,th

java - 在 Amazon Lambda 上运行 Spring Boot

我正在尝试在AmazonLambda上部署SpringBoot应用程序。我注意到如果处理程序被快速连续调用——spring会尝试重新加载自身、重新设置数据源、重新加载bean等如果main方法已经被调用,有没有办法告诉SpringBoot不要重新初始化自己?谢谢达米安 最佳答案 据我所知,AmazonLambda是一个无状态函数,它会针对每个请求进行实例化。如果您多次调用Lambda,这很正常,您会看到针对每个请求的SpringBoot初始化。如果请求来得慢,可能是AWS又重用了同一个Lambda,所以只做了一次Spring初始化。

java - Java 方法引用中表达式的运行时评估

在Run-TimeEvaluationofMethodReferences部分在Java语言规范中提到:Atruntime,evaluationofamethodreferenceexpressionissimilartoevaluationofaclassinstancecreationexpression,insofarasnormalcompletionproducesareferencetoanobject.Evaluationofamethodreferenceexpressionisdistinctfrominvocationofthemethoditself.First,

java - 在java中使用正则表达式替换括号中的逗号

我只想在括号内替换逗号。例如Progamminglanguages(Java,C#,Perl)到Progamminglanguages(JavaorC#orPerl)但它不应该替换后面字符串中的逗号ProgamminglanguagesJava,C#,Perl代码它将正确替换但不匹配。Stringtest="Progamminglanguages(Java,C#,Perl)";Stringtest1="ProgamminglanguagesJava,C#,Perl"Stringfoo=replaceComma(test);Stringfoo1=replaceComma(test1);p

java - 当使用 lambda 表达式而不是匿名内部类时,Spring 无法确定泛型类型

我正在使用Spring的ConversionService,添加一个简单的转换器来将ZonedDateTime(Java8)转换为String:@BeanpublicConversionServiceFactoryBeanconversionServiceFactoryBean(){ConversionServiceFactoryBeanconversionServiceFactoryBean=newConversionServiceFactoryBean();ConverterdateTimeConverter=newConverter(){@OverridepublicString