草庐IT

lambda表达式

全部标签

java - 正则表达式检查括号是否平衡

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Canregularexpressionsbeusedtomatchnestedpatterns?我正在编写一个正则表达式来检查输入字符串是否是一个正确的算术表达式。问题是检查是否有足够的左括号和右括号。表达式:(1)(((1)((1))))我认为前瞻和后视在这里很有用,但现在我只能检查一种。如果重要的话,我正在使用Java。

java - foreach 不适用于表达式类型

这个错误是什么意思?我该如何解决?foreach不适用于表达式类型。我正在尝试编写一个方法find()。在链表中找到一个字符串publicclassStack{privateNodefirst;privateclassNode{Itemitem;Nodenext;}publicbooleanisEmpty(){return(first==null);}publicvoidpush(Itemitem){Nodeoldfirst=first;first=newNode();first.item=item;first.next=oldfirst;}publicItempop(){Itemit

高等代数(八)-线性变换02:λ-矩阵在初等变换下的标准形

§2λ§2\lambda§2λ-矩阵在初等变换下的标准形λ\lambdaλ-矩阵也可以有初等变换.定义3下面的三种变换叫做λ\lambdaλ-矩阵的初等变换:矩阵的两行(列)互换位置;矩阵的某一行(列)乘非零常数ccc;矩阵的某一行(列)加另一行(列)的φ(λ)\varphi(\lambda)φ(λ)倍,φ(λ)\varphi(\lambda)φ(λ)是一个多项式.和数字矩阵的初等变换一样,可以引进初等矩阵.例如,将单位矩阵的第jjj行的φ(λ)\varphi(\lambda)φ(λ)倍加到第iii行上(或第iii列的φ(λ)\varphi(\lambda)φ(λ)倍加到第jjj列上)得第ii

java - 合并两个正则表达式

我有两个正则表达式,一个从csv字符串中提取用户名,另一个提取电子邮件。字符串格式是这样的:Strings="namelastname(username);namelastname(username);namelastname(username)";我的正则表达式的代码是这样的。Patternpattern=Pattern.compile("(?]+)");Matchermatcher2=pattern2.matcher(s);while(matcher.find()&&matcher2.find()){System.out.println(matcher.group()+""+mat

java - 我将如何使用 Java 8 和 lambda 打印 JVM 的系统属性?

您可以使用System.getProperties()获取JVM属性的Properties实例;您将如何使用Java8代码将所有属性打印到控制台? 最佳答案 一个解决方案:publicfinalclassFoo{privatestaticvoidprintProperty(finalObjectkey,finalObjectvalue){System.out.println(key+":"+value);}publicstaticvoidmain(finalString...args){System.getProperties().

java - 为什么正则表达式 ((x,y)|(x,z)) 是不确定的?

为什么正则表达式((x,y)|(x,z))像“CoreJava”一书中所说的那样是不确定的?作者给出了他的观点:Whentheparserseesx,itdoesn’tknowwhichofthetwoalternativestotake.Thisexpressioncanberewritteninadeterministicformas(x,(y|z))谁能给我一个解释? 最佳答案 要获得确定性形式,您在当前位置最多只能有一种可能的方式。假设您有一个字符串“x,y”。现在正则表达式引擎查看第一个字符,即“x”。在你的表达中,你有两

java - 解释如何将此 lambda 分配给 Iterable

我在thispost上遇到了一些聪明的代码,可以将Iterator转换为来自Karol的Stream.我不得不承认,我不完全理解如何允许将lambda分配给以下代码中的Iterable类型...staticStreamiteratorToFiniteStream(finalIteratoriterator){finalIterableiterable=()->iterator;returnStreamSupport.stream(iterable.spliterator(),false);}我决定编写自己的小测试以确保它能够编译和执行,而且确实如此。publicvoidprintsSt

java - 正则表达式:捕获一个或多个组(如果存在)(Java)

我想捕获与输入可以包含该组一次或多次的模式匹配的组。例子:input=12361randomstuff37112Mar16138morerandom381stuff73f我想捕捉“12Mar16”。由此我很容易地使用了正则表达式:pattern=(".*(\\d{2}\\s\\w+\\s\\d{2}).*");但是我的麻烦是,当输入可以包含多个这些组时,我无法捕获后续匹配项。例子:input=randomstuff37112Mar1614Jan1513Feb16138morerandom381stuff73f这样:group1=12Mar16group2=14Jan15group3=1

java - 具有不同类型表达式的三元运算符

这个问题在这里已经有了答案:Unexpectedtyperesultingfromtheternaryoperator(4个答案)关闭4年前。我在玩三元运算符时发现了一些奇怪的东西。我有以下代码:classMain{staticvoidfoo(inta){System.out.println("int");}staticvoidfoo(Stringa){System.out.println("String");}staticvoidfoo(Objecta){System.out.println("object");}publicstaticvoidmain(String[]args){

java - Java 正则表达式中的零长度匹配

我的代码:Patternpattern=Pattern.compile("a?");Matchermatcher=pattern.matcher("ababa");while(matcher.find()){System.out.println(matcher.start()+"["+matcher.group()+"]"+matcher.end());}输出:0[a]11[]12[a]33[]34[a]55[]5我所知道的:“一个?”代表字符“a”出现零次或一次。JavaAPI说:matcher.start()返回上一个匹配的开始索引。matcher.end()返回最后一个字符匹配后