如何在java中表示一个空列表? [复制]

     2023-02-25     206

关键词:

【中文标题】如何在java中表示一个空列表? [复制]【英文标题】:How do I represent an empty list in java? [duplicate] 【发布时间】:2016-11-12 05:49:15 【问题描述】:

我有这个类的构造函数以一个字符串和一个数组列表作为参数;

class Foo
    String ide;
    ArrayList list;

    public TypeOperator(String ide, ArrayList list)
        this.ide = ide;
        this.list = list;
    

所以当我像下面这样初始化类时:

Foo one = new Foo("boo", []);

它给出了错误。好吧,我可以这样做以使其发挥作用:

ArrayList empty = new ArrayList();
Foo one = new Foo("boo", empty);

第一个解决方案不起作用有什么原因吗?或者有没有办法进行一些更改以使其工作?谢谢

【问题讨论】:

你为什么不用Collections.emptyList? AFAIK, [] 本身在 Java 中不是一个东西。在它是事物的语言中(PHP、JS、...),它通常表示“Array”,这与“ArrayList”不同。 发帖前请先搜索 Stack Overflow。 【参考方案1】:

为了在 Java 中表示一个空列表(ArrayList 是一个列表),我们使用java.util.Collections.emptyList()

所以你可以使用这样的东西:

Foo foo = new Foo("boo", (ArrayList) java.util.Collections.emptyList());

如果您需要其他方式在 java 中创建新列表,请参阅此答案How to make a new List in Java。

现在您可能已经将 Arrays 与 ArrayList 混为一谈,导致使用类似语法 [] 的数组来创建 ArrayList。但这也偏离了语言规范,您可以阅读更多关于如何从 SO here 或标准 java 文档创建数组的信息。

而且,与您的问题无关,但您应该always code to an interface。

【讨论】:

【参考方案2】:

您的类Foo 的构造函数名称错误,正确的应该是:

class Foo 
  String ide;
  ArrayList list;

  public Foo(String ide, ArrayList list)
    this.ide = ide;
    this.list = list;
  

您的第一个解决方案是错误的,因为您没有将 ArrayList 的实例传递给构造函数。为了创建一个空的 ArrayList,你可以使用:

Foo one = new Foo("boo", new ArrayList());

您可以重写 Foo 类以使用 List 的泛型类型:

class Foo 
  String ide;
  List list;

  public Foo(String ide, List list)
    this.ide = ide;
    this.list = list;
  

...并使用java.util.Collections.EMPTY_LIST 表示空列表:

Foo one = new Foo("boo", Collections.EMPTY_LIST);

【讨论】:

【参考方案3】:

TypeOperator 函数定义需要一个 ArrayList 类型的参数。该示例试图传递一个空数组文字。

第一个解决方案不正确,因为 ArrayList 和 [] 之间存在类型不匹配。

一个可能的解决方案是将函数定义更改为

    public TypeOperator(String ide, <some-type>[] list)
        this.ide = ide;
        this.list = new ArrayList(list);
    

可以通过

调用
    TypeOperator("somestring", new <some-type> [<some-dimension>]);

【讨论】:

如何在 JavaScript 中表示浮点数? [复制]

】如何在JavaScript中表示浮点数?[复制]【英文标题】:HowcanirepresentafloatinJavaScript?[duplicate]【发布时间】:2021-10-1520:34:45【问题描述】:我是JavaScript的新手。在python中,我可以创建一个条件来检查数字是否是这样的浮点数:num=1.5... 查看详情

如何在字符串中表示逗号? [复制]

】如何在字符串中表示逗号?[复制]【英文标题】:Howtorepresentcomma\'sinstring?[duplicate]【发布时间】:2013-03-2613:15:00【问题描述】:我有一个像这样的整数,即3356890。我正在将其转换为字符串并显示在屏幕上。现在我想像这样显示... 查看详情

你如何在 Haskell 中表示一个图形?

】你如何在Haskell中表示一个图形?【英文标题】:HowdoyourepresentagraphinHaskell?【发布时间】:2012-04-0116:33:56【问题描述】:使用代数数据类型在haskell中表示树或列表很容易。但是您将如何以印刷方式表示图形?看来你需要有指针... 查看详情

如何在java中的内存中表示null[duplicate](代码片段)

可能重复:WhatexactlyisnullinJavamemory有没有人知道如何在对象或任何东西的内存中表示空值。在点网中,它由空指示符布尔值和相应类型的值(Referhere)表示。那么有谁知道它是如何在java中完成的?答案来自JVMspecification,section2.4:... 查看详情

如何在 API 中表示 Unicode 字符

】如何在API中表示Unicode字符【英文标题】:HowtorepresentUnicodecharactersinanAPI【发布时间】:2010-02-1902:28:58【问题描述】:这更像是一个MBCS问题而不是Unicode问题。我需要创建一个API,它返回一个结构列表,每个实例都将一个Unicode字... 查看详情

如何在 Springdoc Swagger v3 中表示字符串列表?

】如何在SpringdocSwaggerv3中表示字符串列表?【英文标题】:HowtorepresentListofStringsinSpringdocSwaggerv3?【发布时间】:2020-11-1202:49:24【问题描述】:下面是和我的情况类似的代码@ApiResponses(value=@ApiResponse(responseCode="200",description="OK",conten... 查看详情

如何在 Python 函数结果中表示“未找到索引”

】如何在Python函数结果中表示“未找到索引”【英文标题】:Howtosignal"indexnotfound"inPythonFunctionresult【发布时间】:2014-01-3115:17:10【问题描述】:我正在编写一个小函数来返回字符串列表中第一次出现的字符串的索引,使... 查看详情

如何在 Scala 中表示一个空字符?

】如何在Scala中表示一个空字符?【英文标题】:HowdoIrepresentanemptyCharinScala?【发布时间】:2012-01-0812:21:54【问题描述】:valmychar=\'\'不编译并导致以下错误:错误:未闭合的字符文字valmychar=\'a\'等都很好。我尝试过将“”转换为... 查看详情

零长度数组如何在内存中表示?

】零长度数组如何在内存中表示?【英文标题】:Howisthezerolengtharrayrepresentedinmemory?【发布时间】:2015-07-1921:43:28【问题描述】:Java原语对象被映射到本机原语。所以我的问题是charvalue[]=newchar[0];是如何表示的?它是否取决于(... 查看详情

在字节数组中表示一个数字(java编程)

】在字节数组中表示一个数字(java编程)【英文标题】:Representinganumberinabytearray(javaprogramming)【发布时间】:2011-02-2113:42:01【问题描述】:我试图在一个两字节数组中表示端口号9876(或十六进制的0x2694):classfoopublicstaticvoidmain... 查看详情

从路径列表中表示文件系统(文件/目录)的 Java 树

】从路径列表中表示文件系统(文件/目录)的Java树【英文标题】:JavaTreetorepresentfilesystem(files/dir)fromlistofpaths【发布时间】:2012-06-0710:13:12【问题描述】:我有一个这样的路径列表/mnt/sdcard/folder1/a/b/file1/mnt/sdcard/folder1/a/b/file2/mnt/... 查看详情

“InfoDictionary 版本”在信息属性列表(plist 文件)中表示啥?

】“InfoDictionary版本”在信息属性列表(plist文件)中表示啥?【英文标题】:Whatdoes"InfoDictionaryversion"signifyininformationpropertylist(plistfile)?“InfoDictionary版本”在信息属性列表(plist文件)中表示什么?【发布时间】:2011-08-1... 查看详情

“InfoDictionary 版本”在信息属性列表(plist 文件)中表示啥?

】“InfoDictionary版本”在信息属性列表(plist文件)中表示啥?【英文标题】:Whatdoes"InfoDictionaryversion"signifyininformationpropertylist(plistfile)?“InfoDictionary版本”在信息属性列表(plist文件)中表示什么?【发布时间】:2011-08-1... 查看详情

java示例代码_在一个值中表示4种布尔可能性

java示例代码_在一个值中表示4种布尔可能性 查看详情

如何在 Perl 中表示集合?

】如何在Perl中表示集合?【英文标题】:HowcanIrepresentsetsinPerl?【发布时间】:2011-04-1115:09:57【问题描述】:我想用Perl表示一个集合。我通常做的是使用带有一些虚拟值的哈希,例如:my%hash=();$hash"element1"=1;$hash"element5"=1;然后使... 查看详情

如何在数据库中表示一个实体的许多相似属性?

】如何在数据库中表示一个实体的许多相似属性?【英文标题】:Howtorepresentmanysimilarattributesofanentityinadatabase?【发布时间】:2012-11-1622:47:23【问题描述】:假设我正在建立一个关于汽车的网站。汽车实体有很多类似枚举的属性:... 查看详情

如何在 MySQL 中表示树及其内容?

】如何在MySQL中表示树及其内容?【英文标题】:howtorepresenttreesandtheircontentinMySQL?【发布时间】:2011-03-3004:49:58【问题描述】:我需要能够存储这样的东西:其中绿色是template类型,灰色是fieldcontainer类型,白色是field。(也就是... 查看详情

如何在 MVC 模型中表示一个月的复选框

】如何在MVC模型中表示一个月的复选框【英文标题】:HowtorepresentamonthofcheckboxesinanMVCmodel【发布时间】:2015-06-2000:54:29【问题描述】:我无法理解如何使用MVC创建下表,并将其成功绑定到模型:我基本上需要跟踪一个月中的哪些... 查看详情