Java 相当于 C# ExpandoObject

标签 java c#

C# 代码示例:

dynamic MyDynamic = new System.Dynamic.ExpandoObject();
MyDynamic.A = "A";
MyDynamic.B = "B";
MyDynamic.C = "C";
MyDynamic.Number = 12;
MyDynamic.MyMethod = new Func<int>(() => 
{ 
    return 55; 
});
Console.WriteLine(MyDynamic.MyMethod());

Java: ?

知道为什么 java 不支持这种情况吗?

最佳答案

Java 在这种情况下要严格得多。所以简短的回答是否定的,Java 没有 Expando。语法不支持这一点。

然而,Groovy 中有一个 Expando,它是一种基于 Java 的动态语言。

顺便说一句,如果您使用 Expando 进行测试,那么有很多各种 Mock 相关的解决方案:EasyMock、Mockito、JMock 等等。

关于Java 相当于 C# ExpandoObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35391842/

相关文章:

java - 为循环中的每个文本字段创建具有唯一名称的文本字段

java - 限制 Jetty 上 Solr 的内存使用

Java - 将文件读入对象数组

java - 如何将数据从不同的类添加到Arraylist

c# - 如何获取所有当前加载的程序集的列表?

c# - 如何使用逗号更改小数位的值,例如表中的 2,532.00 更改为 2532。

c# - ASP.NET:功能键快捷方式?

c# - 在 DataGrid 中设置焦点

c# - 尽管通过代码运行测试,ReSharper dotcover 仍显示 0% 的覆盖率

java - RecyclerView 反向无限滚动