当前位置: 首页 > 知识库问答 >
问题:

Java等价于c#列表声明[重复]

邓翼
2023-03-14

我想知道在java中是否有与此等效的:

List<Person> People = new List<Person>(){
    new Person{
        FirstName = "John",
        LastName = "Doe"
    },
    new Person{
        FirstName = "Someone",
        LastName = "Special"
    }
};

当然,假设。。。有一个名为Person的类,其FirstName字段和LastName字段为{get;set;}

共有1个答案

柴星津
2023-03-14

从Java9可以编写

// immutable list
List<Person> People = List.of(
                          new Person("John", "Doe"),
                          new Person("Someone", "Special"));

在Java 5.0中,您可以编写

// cannot add or remove from this list but you can replace an element.
List<Person> People = Arrays.asList(
                          new Person("John", "Doe"),
                          new Person("Someone", "Special"));

在Java1.4中,您可以编写

// mutable list
List<Person> People = new ArrayList<Person>() {{
                          add(new Person("John", "Doe"));
                          add(new Person("Someone", "Special"));
                      }};
 类似资料:
  • 我是一名普通的C#开发人员,但偶尔会用Java开发应用程序。我想知道是否有与C#async/await相当的Java?简单地说,java等价物是什么:

  • 问题内容: Java的运算符等效于什么(在C#中)? (为澄清起见,我不是指and 运算符。) 问题答案: 在C#中,可以使用无符号整数类型,然后使用和执行您期望的操作。有关移位运算符的MSDN文档为您提供了详细信息。 由于Java不支持无符号整数(除之外),因此需要此附加运算符。

  • 问题内容: 我是来自C / STL的相对较新的Java程序员,并且正在寻找具有以下特征的类(据我所了解,C std :: deque具有): O(1)在开头/结尾插入/移除的性能 按索引查找的O(1)性能 是可增长的集合(不需要固定的大小范围) 是否有与此等效的Java?我发现Java 1.6 [ArrayDeque]类具有插入/移除和可增长的特性,但是似乎没有按索引查找的方法,除非调用toArr

  • 问题内容: 在C#中,您可以匿名定义委托(即使它们不过是语法糖)。例如,我可以这样做: 是否可以在Java中传递这样的代码?我正在使用处理框架,该框架具有Java的较旧版本(它没有泛型)。 问题答案: Java 8之前的版本: 最接近委托的Java是单方法接口。您可以使用匿名内部类。 Java 8及更高版本: Java 8 在该语言中添加了lambda表达式。

  • 问题内容: 我正在尝试创建一个检测新类的正则表达式,例如: 要么 这是我到目前为止所没有的,但是没有检测到: 任何人都可以给我一些指示吗? 问题答案: 如下更改您的正则表达式以匹配两种类型的字符串格式。 例: 输出:

  • C++标准中的哪种特定语言是造成这种格式不佳的原因? 当两个模板定义定义一个模板的相同专门化时(当它们是一个模板的两个不同专门化时),它在哪里说明? 它在哪里说这是不允许的(重新定义相同的专门化)?