草庐IT

lambda表达式

全部标签

java - 正则表达式在Java中查找特殊字符

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。为了帮助澄清这个问题以便它可以重新打开,visitthehelpcenter。关闭10年前。我可以用varregex=/[$&+,:;=?@#|]/;if(elem.match(regex)){//dosomething}在Javascript中判断string中是否有特殊字符。如何在Java中使用类似的正则表达式?我试过:str.match("\\=");//returnfalse例如:Stringstr="123=456";我试图在str中检测“=”。那没有用。我做错了什么

java - 如何使用 ASM 读取 lambda 表达式字节码

如何使用ASM从lambda表达式的主体中读取字节码指令? 最佳答案 编辑01-08-2016:我添加了另一种使用SerializedLambda类的方法,它不需要第三方软件(即ByteBuddy),您可以在标题为:下面是“使用SerializedLambda”。原答案:问题解释+使用ByteBuddy解决接受的答案没有包含关于如何在运行时通过asm(即没有javap)实际读取lambda字节码的具体信息-所以我想我会在此处添加此信息以供将来引用和其他人的利益.假设以下代码:publicstaticvoidmain(String[]

java - 使用 lambda 保护线程安全

我正在尝试更新一些代码以使用lambda表达式,但我在保持线程安全方面遇到了一些麻烦。我有多个线程正在运行,最终调用以下回调,它有一个synchronized方法,可以将一些结果添加到LinkedList。finalListmappedDocs=newLinkedList();finalMapCallbackmapCallback=newMapCallback(){@Overridepublicsynchronizedvoiddone(intfile,Listresults){mappedDocs.addAll(results);}};但是,当我将它转换为lambda表达式时,我丢失了

Java 8 lambdas 按多个字段分组

我有一个要对其执行某些分组的pojo列表。像这样的东西:publicclassPojo{privatefinalCategorycategory;privatefinalBigDecimalsomeValue;}publicclassCategory{privatefinalStringmajorCategory;privatefinalStringminorCategory;}我想要一个Map>>关键是majorCategory值是Map用keyminorCategory值是List的Pojo所说的对象minorCategory.我打算使用Java8lambda来实现这一点。我可以通

java - 我们如何在 java.util.function.Function lambda 中有 2 个参数?

我们可以像这样创建lambda函数:FunctiongetLambda=(a)->newString("givenvalueis"a);我有一个场景,我需要在一个参数中取2个值。如何使用Function完成该操作?例子:getLamda(10,20);//Iknowthislinewillgiveerror.HowcanIacheivethis? 最佳答案 这是使用BiFunction完成的.以下是BiFunction的示例返回字符串指定索引处的字符:BiFunctioncharAtFunction=(string,index)->

Java正则表达式匹配方括号

这个问题在这里已经有了答案:Regularexpressiontoextracttextbetweensquarebrackets(15个答案)关闭10个月前。我正在尝试使用正则表达式(javareplaceAll)执行以下操作:**Input:**Test[Test1][Test2]Test3**Output**TestTest3简而言之,我需要删除方括号内的所有内容,包括方括号。我正在尝试这个,但它不起作用:\\[(.*?)\\]你能帮忙吗?谢谢,窗扇

java - 如何在循环中的 Java 8 lambda 表达式中递增 "number"?

我有以下问题。我有一个整数位置,它从1开始,每次在xml中的特定位置找到来自txt的特定人时递增。如果我将经典迭代与foreachfor(PersonMatchInfopmi:personMatchInfo)一起使用,它会起作用,但我的学长要求我使用Java8foreach和这种类型的迭代仅适用于最终变量。如何在新的Java8循环中递增整数?谢谢。intposition=1;personMatchInfo.forEach(pmi->{if(!stopwatch1.isStarted()){stopwatch1.start();}elseif(stopwatch1.isStarted()

Java 8 Lambda(一步分组和归约)

假设我有一个Pair对象列表,List>listOfPairs=//somelistofpairs;我想将此列表分组为Map>.目前,我可以分两步完成。第一步按A分组,返回aMap>如下:Map>intermediateStep=listOfPairs.stream().collect(Collectors.groupingBy((Pair::getLeft),Collectors.toSet()));然后我流式传输上面映射的入口集并将它们收集到所需的最终结果中,主要是通过将每个Pair对象映射到它的B值,并将它们收集到一个集合中:Map>finalResult=intermediat

java - 如何使用 Java lambdas 收集新类型列表中的元素?

我一直在努力阅读javadoc以确定如何使用lambda优雅地将一种类型的行列表组合成另一种类型的分组列表。我已经知道如何使用Collectors.groupingBy将数据放入Map>的语法但由于结果将在以后的各种函数调用中使用...理想情况下,我希望将这些简化为包含新映射的对象列表。这是我的数据类型,RowData是来源...我想将数据合并到CodesToBrands的列表中:classRowData{privateStringid;privateStringname;publicRowData(){}publicRowData(Stringid,Stringname){this.

java - 在java中打印正则表达式匹配

所以我有一个IP地址作为字符串。我有这个正则表达式(\d{1-3})\.(\d{1-3})\.(\d{1-3})\.(\d{1-3})如何打印匹配组?谢谢! 最佳答案 importjava.util.regex.*;try{Patternregex=Pattern.compile("(\\d\\{1-3\\})\\.(\\d\\{1-3\\})\\.(\\d\\{1-3\\})\\.(\\d\\{1-3\\})");MatcherregexMatcher=regex.matcher(subjectString);while(rege