Java 正在使用对象。。。在爪哇

Java 正在使用对象。。。在爪哇,java,object,generics,Java,Object,Generics,当我知道这些参数应该是什么时,我正在尝试评估是否在我的方法参数中使用Object…。似乎我可以用Object…做任何事情 例如,我可以这样写: public Object processObject(Object... obj) { final TreeDetails treeDetails = (TreeDetails) obj[0]; final FlowerDetails flowerDetails = (FlowerDetails) obj[1]; } 在这种情况下,

当我知道这些参数应该是什么时,我正在尝试评估是否在我的方法参数中使用
Object…
。似乎我可以用
Object…
做任何事情

例如,我可以这样写:

public Object processObject(Object... obj)  {
    final TreeDetails treeDetails = (TreeDetails) obj[0];
    final FlowerDetails flowerDetails = (FlowerDetails) obj[1];
}
在这种情况下,数组的初始化内容是什么


是否有更好的(例如,可能更安全的类型,或避免异常,或…)编写此内容的方法?

不,不是。目前完全不清楚这些参数应该是什么

请尝试:

public MyReturnType processObject(TreeDetails treeDetails, 
                                  FlowerDetails flowerDetails)  {
    // ...
}

不,它不是。目前完全不清楚这些参数应该是什么

请尝试:

public MyReturnType processObject(TreeDetails treeDetails, 
                                  FlowerDetails flowerDetails)  {
    // ...
}

(我的投票是“不清楚的”,不是基于意见的。)我希望我的编辑足以重新打开“似乎我可以使用Object…做任何事情。”你可以,但这正是你不应该这样做的原因。没有什么能阻止我用零参数,两个字符串,100个整数来调用它。。。。这里的代码至少需要两个参数,第一个是
treedeails
的实例,第二个是
FlowerDetails
的实例;您无法通过设置类型为
Object…
的参数来强制执行这些约束。我正在查看此代码,并认为这是一种不好的做法。只是尝试评估代码。(我的投票是“不清楚的”,不是基于意见的。)我希望我的编辑足以重新打开“似乎我可以使用Object…做任何事情。”你可以,但这正是你不应该这样做的原因。没有什么能阻止我用零参数,两个字符串,100个整数来调用它。。。。这里的代码至少需要两个参数,第一个是
treedeails
的实例,第二个是
FlowerDetails
的实例;您无法通过设置类型为
Object…
的参数来强制执行这些约束。我正在查看此代码,并认为这是一种不好的做法。只是尝试评估代码。