【测试java的Lambda语法】教程文章相关的互联网学习教程文章

Java 8 lambda通用接口方法【代码】

@FunctionalInterface public interface GenericFunctionalInterface {public <T> T genericMethod(); }我有@FunctionalInterface,它有一个通用的方法. 如何使用和Lambda表达式来表示此接口? 我尝试下面的代码,但它不起作用,GenericFunctionalInterface gfi = () -> {return "sss";};我收到编译错误:非法lambda表达式:GenericFunctionalInterface类型的方法genericMethod是通用的 我在哪里可以放置类型信息?解决方法:通用(非遗...

java – 用于将对象从一个列表添加到另一种类型的列表的Lambda表达式【代码】

有一个List< MyObject>并且它的对象需要创建将添加到具有不同元素的另一个List的对象:List< OtherObject>. 这就是我的表现,List<MyObject> myList = returnsList(); List<OtherObj> emptyList = new ArrayList();for(MyObject obj: myList) { OtherObj oo = new OtherObj();oo.setUserName(obj.getName());oo.setUserAge(obj.getMaxAge()); emptyList.add(oo); }我正在寻找一个lamdba表达式来完成同样的事情.解决方法:如果定...

java – Lambda表达式和嵌套数组【代码】

我试图想出一些很好的lambda表达式来构建来自“customers”ArrayList的“desiredResult”.我以旧的丑陋方式“for”循环实现它.我知道应该有一个很好的单行,但我想不出任何方法 – 嵌套数组进入我的方式.Iterable<List<?>> params; Customer customer1 = new Customer("John", "Nowhere"); Customer customer2 = new Customer("Alma", "Somewhere"); Customer customer3 = new Customer("Nemo", "Here"); Collection<Customer> cust...

Java 8 lambda表达式求值【代码】

我有一个类似于以下方法:public double[] foo(double[] doubleArray) { DoubleStream stream = Arrays.stream(doubleArray);return stream.map(s -> s / stream.sum()).toArray(); }这种方法的复杂性是什么? DoubleStream的sum方法执行多少次?一次或O(n)次,n = doubleArray.length?解决方法:此代码将引发异常,因为您不能多次使用相同的Stream.您只能在Stream上执行一个终端操作. 如果您将代码更改为:public double[] foo(doub...

Java Lambda 与 匿名内部类的this 来分析【代码】

Java Lambda 表达式中的this是调用该方法调用者,匿名内部类的的this是匿名内部类本身。 如下 public class TestMain {public static void main(String[] args) {new TestMain().test();}private void test(){Function<String, String> fnc = new Function<String, String>() {@Overridepublic String apply(String s) {System.out.println(this.getClass().getName());return "";}};String thisName = fnc.apply("");} }输出结果如...

java – 使用lambda折叠List> into List?【代码】

说我有一份清单..List<List<String>> lists = new ArrayList<>();是否有一种聪明的lambda方法将其折叠成所有内容的列表?解决方法:这就是flatMap的用途:List<String> list = inputList.stream() // create a Stream<List<String>>.flatMap(l -> l.stream()) // create a Stream<String>// of all the Strings in// all the internal lists.collect(Collectors.toList());

java – 在同一行上清空lambda表达式【代码】

默认情况下,IntelliJ 15.0.3在重新格式化代码时将空lambda表达式的右括号放在下一行.Consumer<String> myFunc= aString -> { };在我看来,这对代码可读性略有不利,我想将空的lambda表达式保留在同一行:Consumer<String> myFunc= aString -> {};我在哪里可以找到更改此设置?解决方法:它位于“设置”(快捷方式为Strg Alt S)下编辑器>代码样式> Java>环绕和大括号>重新格式化时保留>一行中的简单lambda:

Java8 Collections.sort()及Arrays.sort()中Lambda表达式及增强版Comparator的使用【代码】

摘要:本文主要介绍Java8 中Arrays.sort()及Collections.sort()中Lambda表达式及增强版Comparator的使用。 不废话直接上代码import com.google.common.collect.Lists; import org.junit.Assert; import org.junit.Test; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List;public class ComparatorTest {@Testpublic void test1(){/*** Collections.sort()使用*///被排...

Java 8 – 如何访问被绑定为lambda的对象和方法【代码】

在Java中,您可以“捕获”对象的“方法调用”作为Runnable,如下例所示. 之后,有权访问Runnable的这个实例,是否可以实际访问“捕获”对象和被调用方法的方法参数(如果可能,这可能需要通过反射来完成). 例如:class SomePrintingClass {public void print(String myText) {System.out.println(myText);} }public class HowToAccess {public static void main(String[] args) throws Exception {final String myText = "How to access ...

在java-8 lambda表达式中使用if-else语句【代码】

我在java-7中有一个for语句,它的工作正常:Character cha = new Character(','); String ncourseIds = null; String pastCourseIds = null; for (EquivalentCourse equivalentCourse : equivalentCourses) {if(equivalentCourse.getNcourse() != null){ncourseIds += equivalentCourse.getNcourse().getId()+ ","; } else if(equivalentCourse.getPastCourse() != null) {pastCourseIds +=equivalentCourse.getPastCourse().getI...

android – 在Kotlin Lambda中调用RxJava Single【代码】

我正在尝试修补新的Room库与RxJava配对. 我找到了一种方法来使用Single在后台线程上插入项目,如活动内部:Single.fromCallable { AppDatabase.getInMemoryDatabase(this).taskDao().insertAll(task) }.subscribeOn(Schedulers.newThread()).subscribe()现在,我有一个RecyclerView,其任务有一个复选框,您可以使用该复选框将项目标记为完成或不完整.我想要做的是每次选中/取消选中时更新项目.我将粘贴整个ViewHolder以完成,但请特别注...

java – 我可以从没有显式变量的lambda表达式创建Comparator对象吗?【代码】

我还不熟悉Java中的lambda表达式. 能够//create a comparator object using a Lambda expression Comparator<Double> compareDouble = (d1, d2) -> d1.compareTo(d2);//Sort the Collection in this case 'testList' in reverse order Collections.sort(testList, Collections.reverseOrder(compareDouble));在没有显式创建变量compareDouble的情况下编写? 我尝试了以下,但为什么它不起作用?//Sort the Collection in this case ...

java – 如何使用stream或lambda简化我的代码【代码】

String convSummary(String l) {String s = l.toLowerCase(), r ="";for(int i = 0 ; i < s.length() ;i++){char c = s.charAt(i);if(c == 'a' || c == 'b' || c == 'c' || c == 'd' || c == 'e')r += (char) (c & 0x5f);if(c == 'v' || c == 'w' || c == 'x' || c == 'y' || c == 'z')r += c;}return r; }我如何使用流或lambda简化我的代码我是初学者,我想了解更多有关lambda和stream的信息谢谢你的帮助……解决方法:您可以使用St...

Java8 之 lambda 表达式、方法引用、函数式接口、默认方式、静态方法【代码】

今天我来聊聊 Java8 的一些新的特性,确实 Java8 的新特性的出现,给开发者带来了非常大的便利,可能刚刚开始的时候会有点不习惯的这种写法,但是,当你真正的熟悉了之后,你一定会爱上这些新的特性的,这篇文章就来聊聊这些新特性。 lambda 表达式 lambda 表达式在项目中也是用到了,这种新的语法的加入,对于使用 Java 多年的我,我觉得是如虎添翼的感觉哈,这种新的语法,大大的改善了以前的 Java 的代码,变得更加的简洁,我觉...

使用Java中的Streams / Lambda将Stream>转换为T [] []【代码】

我希望看看有没有更好的方法来解决我必须使用这些签名的困境(注意:由于Spock测试需要T [] []并且我提供T [] []作为数据提供者) 我的方法签名是:public <T> T[][] createArrays(Class<T> clazz, T...items)我正在使用具有签名的静态方法:public static <T> Stream<Stream<T>> of(T...items)并计算传递数组的所有排列. 我的解决方案,手动重写,原谅错别字,是:public static <T> T[][] createArrays(Class<T> clazz, T...items){St...

LAMBDA - 相关标签