java中的匿名类型,如c#中

Val*_*ior 1 c# java anonymous-types

我正在研究c#中的匿名类型,并想知道java中是否存在类似的东西.Java在c#中有类似匿名类型的东西吗?

Jon*_*eet 6

那么Java 中的类型是匿名的,因为你不能通过名称来引用它们,但它们与C#中的匿名类型几乎没有共同之处.在Java中,它们是匿名的内部类,例如

Runnable x = new Runnable() {
    private int x = 10;

    @Override public void run() {
        System.out.println(x);
        x++;
    }
};
x.run(); // Prints 10
x.run(); // Prints 11
Run Code Online (Sandbox Code Playgroud)

没有相当于C#的概念"创建一个具有一堆只读属性的类型,其类型是从初始化表达式推断出来的,完全具有自动提供的相等和方便的字符串转换实现".Java中的匿名内部类通常用于实现接口和轻松扩展抽象类 - 您通常在C#中使用lambda表达式.