我正在尝试理解一个java程序,它使用lambda将对象返回到接口的引用变量中。我想将lambda转换为简单的java函数,但不知道如何做到。
程序如下:-
public abstract class Performance implements Serializable
{
Iterface_name vehicle =(Iterface_name & Serializable) () ->{return new Object();};
Object speed()
{
return vehicle.speed();
}
}
界面如下:-
public interface Iterface_name
{
Object speed();
}
如何将此程序转换为简单的java程序,而不使用lambda进行学习。请帮忙。
完全删除该字段。这是相同的:
public abstract class Performance implements {
Object speed() {
return new Object();
}
}
您可以用自己的Iterface_name
接口实现替换lambda表达式。
class Interface_name_impl implements Iterface_name {
@Override
public Object speed() {
return new Object();
}
}
随后,可以将使用lambda表达式的语句替换为
Iterface_name vehicle = new Interface_name_impl();
您甚至可以使用匿名类,而没有显式地具有实现Iterface_name
的上述类
Iterface_name vehicle1 = new Iterface_name() {
@Override
public Object speed() {
return new Object();
}
};
另一方面,您甚至可以从
Iterface_name vehicle =(Iterface_name & Serializable) () ->{return new Object();};
到
Iterface_name vehicle = () -> new Object();
甚至更短的版本是
Iterface_name vehicle = Object::new;
如果您想了解lambdas是如何在编译器内部实现的,您可以Java-8-Lambdas-A-Peek-Under-the-Hood
如何使用Java8的将上面的代码转换为lambda?例如list.stream().filter()....但我需要操作list。
我在这里挑战。 我正在参加名为。在这里,我必须查看一些程序集,然后将其转换为c函数。程序集如下所示: 因此,行:0x04:mov DWORD PTR[rbp-0x4],edi 0x07:mov DUORD PTR[rbp-x8],esi我很有把握对应于两个参数。然后是带有的if语句,它决定函数的结束方式。我自己的翻译是这样的: 因为在我看来,函数所做的一切都是比较两个输入,然后返回较大的输入,将较
如何将单对象转换为简单列表对象? 我使用下面的代码:
我在JavaFX上有一个应用程序。在这个应用程序中,我需要实现专栏的编辑器。在旧版本中,该代码运行良好: 但是当我试图用lambda重写代码时 我得到一个错误:错误:java:不兼容的类型:lambda表达式中的不兼容参数类型告诉我如何指定lambda表达式的类型?
我有一个包含用户数据的类。 从中,我想提取所有唯一的城市。改变,我为此而做, 这些变化的表达式是什么? 任何帮助都将不胜感激。
问题内容: 我刚刚开始使用Java 8,并且正在使用以下代码片段: 如何将其转换为Lambda样式? 问题答案: 如果是 功能界面 ,则可以 这是您问题中其他类的存根实现的完整示例: