草庐IT

boost-lambda

全部标签

java - 将 lambda 转换为方法引用

有人可以帮我转换以下代码以使用方法引用吗?我正在努力思考这个新语法,但当它变得比映射到单个方法调用的单个变量更复杂时,我很快就迷路了:getWorkspaces().stream().forEach((ws)->{DataStoreInfodefaultDataStore=getDefaultDataStore(ws);if(defaultDataStore!=null){other.setDefaultDataStore(ws,defaultDataStore);}});我从这个开始,但它不起作用:)getWorkspaces().stream().map(this::getDefa

Java lambda 表达式 : Copy nodes from list to a new list

我对Javalambda很陌生,我不确定我想要的是否可以实现:我有一个对象列表,我想对其进行过滤以提取与给定条件匹配的对象,并将它们放在一个单独的列表中(这样我就可以对它们执行一些操作,保持原始列表不变)我想到了这个:Listonly_translations=original_list.stream().filter(t->t.isTranslation).collect(Collectors.toCollection(()->newArrayList()));但是即使我得到一个新的列表对象,节点似乎链接到原始节点(通过引用,不是从原始列表复制的新对象),所以修改新列表中的对象也是修

Java 8 : replace anonymous class with lambda

我在替换这个特定示例时遇到问题:Consumerconsumer=newDefaultConsumer(channel){@OverridepublicvoidhandleDelivery(StringconsumerTag,Envelopeenvelope,AMQP.BasicPropertiesproperties,byte[]body)throwsIOException{Stringmessage=newString(body,"UTF-8");System.out.println("[x]Received'"+message+"'");}};是否可以用lambda替换它,因为它

c# - Java 中的 Lambda 表达式?

我需要将我的部分项目从C#切换到Java。但在此之前,我想仔细而完整地比较两种语言。关于lambda表达式,我可以通过C#写出非常优雅的代码,问题是如何在Java中优雅地实现同样的功能?提前致谢!classProgram{enumGender{Male,Female}classStudent{publicintId{get;set;}publicstringName{get;set;}publicintAge{get;set;}publicGenderGender{get;set;}publicoverridestringToString(){returnstring.Format("

java - Lambda 表达式抛出异常

我刚刚用maven(com.vaadin:vaadin-archetype-application@7.2.6)开始了一个新的vaadin项目。在默认的MyVaadinUI.java中,我用lambda表达式替换了Butten.ClickListener(),之后我在运行packagejetty时遇到异常:运行之前:Buttonbutton=newButton("ClickMe");button.addClickListener(newButton.ClickListener(){publicvoidbuttonClick(ClickEventevent){layout.addComp

java - 坚持使用 java8 lambda 表达式

我有MapdocLib=newHashMap();保存类Doctor.ClassDoctor有methods:getSpecialization()返回String,getPatients()返回类的集合Person.在main方法中,我输入:publicMap>getPatientsPerSpecialization(){Map>res=this.docLib.entrySet().stream().map(d->d.getValue()).collect(groupingBy(d->d.getSpecialization(),d.getPatients())//error);ret

java - 如何将方法的返回类型声明为传递给方法的数组中最后一个 lambda 的返回类型

我提出一些我认为不可能的问题,如果是,我会删除问题。我有方法:publicObjectconvertBy(Function...functions){}这些函数是:interfaceFLinesextendsFunction{@OverridedefaultObjectapply(Objectt){returnnull;};publicListgetLines(StringfileName);}interfaceJoinextendsFunction{@OverridedefaultObjectapply(Objectt){returnnull;};publicStringjoin(L

java - 使用 lambda 表达式编译代码时出错

我有以下代码:packagecom.mongoDB;importspark.Spark;publicclassHelloWorldSparkStyle{publicstaticvoidmain(String[]args){Spark.get("/hello",(req,res)->"HelloWorld");}}当我通过main方法运行它时它运行良好,但当我尝试编译它时抛出以下错误:\HelloWorldSparkStyle.java:[9,33]error:lambdaexpressionsarenotsupportedin-source1.5D:\WorkspaceWithJava

java - 用方法引用替换 lambda 表达式

我有一个采用参数Streamstream的静态方法.来自arraylist.stream()或Arrays.stream(array).该方法的工作是返回可被三整除的所有整数的总和。returnstream.filter(i->i.intValue()%3==0).mapToInt(i->i.intValue()).sum()此方法有效,但IntelliJ建议如下:Thisinspectionreportslambdaswhichcanbereplacedwithmethodreferences.我不太熟悉方法引用,尤其是使用类名场景引用实例方法。我已经尝试了以下给出错误的方法。str

java - 确保通用 lambda 表达式的类型安全

这是对Java8retrievinglambdasetterfromclass的跟进.我正在尝试获取给定字段的getter方法publicIGettergetGetter(Classclazz,Fieldfield){ClassfieldType=null;try{fieldType=(Class)field.getType();}catch(ClassCastExceptione){error("Attemptedtocreateamistypedgetterforthefield"+field+"!");}returngetGetter(clazz,field.getName(),