java - 方法参数中的 Object... 是什么以及如何使用它?

标签 java android

我想使用java中的方法。它的原型(prototype)定义如下:

 public void fragmentRequestAction(Fragment fragment, int requestId, Object... objects)

我不知道什么是Object...我如何将这些项目传递给该方法以及如何使用它们?

最佳答案

Object... 采用任何非原始类型和任意数量。在Java中,它被称为可变长度参数。

这意味着您可以像这样调用 fragmentRequestAction() 方法 -

fragmentRequestAction(fragment, 345); //no object here
fragmentRequestAction(fragment, 345, someObj);
fragmentRequestAction(fragment, 345, someObj1, someObj2);
fragmentRequestAction(fragment, 345, someObj1, someObj2, someObj3);  

从 java 5 引入了可变长度参数。使用可变长度参数构造函数时需要记住一些规则。请参阅代码 fragment -

public void meth ( int... a) // valid
public void meth (double a, int... b) // valid
public void meth ( int... a, int b) // invalid- Ellipsis may be used towards the end only
public void meth ( int... a, double... b) // invalid - More than one variable length parameter list may not be used
public void meth ( Student... a) // valid - Reference types are also allowed
public void meth( int[]... a) // valid - reference types are also allowed 

访问link了解更多详情。

关于java - 方法参数中的 Object... 是什么以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30603738/

相关文章:

android - NoClassDefFoundError requestfactory 与 Android 连接的应用程序引擎项目

android - 使用对讲时通过滑动在标题之间导航

android - 用于音频的 MediaExtractor,得到意外的音频

java - 如何将 json 内容从 jackson 流式传输到 org.apache.http.entity.InputStreamEntity?

java - Java 2D 中的可拖动矩形

java - IntelliJ : class variable javadoc to be inserted on getter/setter generation

java - 安全性 - 如何在 android 应用程序中实现用户之间的阻止功能,使他们无法再相互联系

java - 是否可以在非 WEB 应用程序上使用 JBoss SEAM?

java - 如何使用单选按钮在jsp中选择特定行数据

android - 使用 Firestore 和 Google Speech to Text 时出现重复的类错误