草庐IT

lambda表达式

全部标签

java - Lambda 表达式和高阶函数

我如何使用Java8编写闭包支持将函数作为参数并将函数作为值返回的方法? 最佳答案 在JavaLambdaAPI中,主类是java.util.function.Function.您可以像处理所有其他引用一样使用对此接口(interface)的引用:将其创建为变量,将其作为计算结果返回等等。这是一个非常简单的例子,可能对你有帮助:publicclassHigherOrder{publicstaticvoidmain(String[]args){FunctionaddOne=add(1L);System.out.println(addO

java - 通过拆分正则表达式从 Java 中的字符串中提取数字

我想像这样从字符串中提取数字:Stringnumbers[]="M0.286-3.099-0.44c-2.901,-0.436,,,123,0.123,.34".split(PATTERN);我想从这样的字符串中提取这些数字:0.286-3.099-0.44-2.901-0.4361230.123.34即:可以有乱码,如“M”、“c”、“c”“-”号是包含在数字中的,不是拆分的“数字”可以是Float.parseFloat可以解析的任何内容,因此.34是有效的我目前拥有的:StringPATTERN="([^\\d.-]+)|(?=-)";这在某种程度上有效,但显然远非完美:不跳过示例

java - 显式等待的 Selenium Java Lambda 实现

我正在尝试为seleniumwebdriver等待实现JavaLambda概念。我需要转换自定义webdriver等等(newWebDriverWait(driver(),5)).until(newExpectedCondition(){publicWebElementapply(WebDriverd){returnd.findElement(By.linkText(""));}});到(newWebDriverWait(driver(),5)).until((driver)->driver.findElement(By.linkText("")));但它不匹配'until'引用的功能

java - 内存如何分配给 lambda |它是如何被非父类(super class)引用变量引用的

我正在创建功能接口(interface)的实现,下面是我的代码:Consumerconsumer=newConsumer(){@Overridepublicvoidaccept(Integert){System.out.println(t);}};根据JavaDocumentation(javadoc)AvariableofaclasstypeTcanholdanullreferenceorareferencetoaninstanceofclassTorofanyclassthatisasubclassofT.在上面的代码中,创建了匿名对象,它是Consumer的子类,可以通过引用变量

java - java如何区分Lambda中的Callable和Runnable?

我得到了这个小代码来测试Callable。但是,我发现编译器如何知道Lambda是用于可调用接口(interface)还是可运行接口(interface)非常令人困惑,因为它们的函数中都没有任何参数。然而,IntelliJ显示Lambda使用Callable的代码。publicclassApp{publicstaticvoidmain(String[]args)throwsInterruptedException{ExecutorServiceexecutorService=Executors.newCachedThreadPool();executorService.submit((

java - 在 assertEquals() 中使用正则表达式不起作用

我在assertEquals()语句中使用正则表达式时遇到问题。这是声明。Assert.assertEquals("regexp:*TST-*[0-9]{5}",driver.getTitle());但是我得到这个错误:org.junit.ComparisonFailure:expected:butwas:看起来正则表达式只是一个正在被比较的字符串。我错过了什么? 最佳答案 看起来您实际上并没有使用正则表达式。看起来这可能就是您想要做的?Assert.assertTrue(driver.getTitle().matches("*TS

java - 如何制作一个匹配任何语言单词的java正则表达式

要匹配英文单词,我会使用模式[a-zA-Z]+。有什么方法可以编写一个正则表达式来匹配任何语言的单词吗?即使单词包含ščžé...之类的字符也是如此。我不知道世界上可能存在哪些字符,所以我认为纯[a-zA-Zščžé]+不够......这个表达式有没有更好的写法? 最佳答案 根据Patternjavadoc,\p{L}+应该匹配一系列Unicode字母(即在Unicode中具有类别L的字符)。这可能是最广泛的定义,尽管您可能想查看unicodecategorieslist决定是否要添加其他类别(例如,有一个名为“数字字母”的类别)。

java - 使用正则表达式拆分字符串

我需要在有逗号的地方拆分一个字符串,但这取决于逗号的位置。举个例子考虑以下几点:C=75,user_is_active(A,B),user_is_using_app(A,B),D=78我希望String.split()函数像这样将它们分开:C=75user_is_active(A,B)user_using_app(A,B)D=78我只能想到一件事,但不确定它在正则表达式中的表达方式。括号内的字符/单词始终大写。换句话说,我不会有user_is_active(a,b)的情况。有办法吗? 最佳答案 如果你没有超过一层的括号,你可以在一个

Java 正则表达式 : How to match one or more space characters

如何在Java正则表达式中匹配多个空格字符?我有一个要匹配的正则表达式。当我有两个或更多空格字符时,正则表达式会失败。publicstaticvoidmain(String[]args){Stringpattern="\\b(fruit)\\s+([^a]+\\w+)\\b";//Match'fruit'notfollowedbyawordthatbeginswith'a'Stringstr="fruitapple";//OnespacecharacterwillnotbematchedStringstr_fail="fruitapple";//Twospacecharacterswi

java - QueryDsl - 带字符串值的 case 表达式

QueryDsl3.3.4hibernate3.6.10-Final我有两个实体:publicclassDocument{privateConfirmationconfirmation;}publicclassConfirmation{...}我需要这样的查询:SELECTcount(d.id),CASEWHENd.confirmation_idISNULLthen'NOT_CONFIRMED'else'CONFIRMED'ENDasconfirmedFROMdocumentdGROUPBYconfirmed;所以应该按照上面case表达式的结果进行分组。现在,将case部分转换为qu