将参数传递给Java函数散装

问题描述 投票:0回答:4

你会用什么,如果你想传递的选项列表到一个函数?

例如,如果你有一个服务器的接口:

public interface Server {
    public void authUser(String username, String password, <xyz> options);
}

什么结构会用使用了通过一组选项?像一个HashMap?

我是说,它来自隧道视野的原因是因为我觉得这违背了Java标准。 Java有方法重载。所以,如果我得到的火焰为提高我理解这个问题。但总体而言,也许在不同的情况下,你会永远传递大量的数据在某些集合,如果是,是哪一个?

java function arguments
4个回答
1
投票

选项1:如果您选择喜欢任何列表集合或设置这些特定的对象。我的意思是,

让我们假设,设置设置新= HashSet的();如果我想有没有关系5不同对象的不同类别的被发送,那么这将是非常困难的认识到,哪个对象是属于同时迭代的类。所以,我不会推荐收藏。

选项2:如果您选择地图,同样的上述问题,同时可以动态获取的对象出现。因此,也建议不要使用此选项。

2选项:

你为什么不能创建自己的DTO,并在DTO将您所需要的数据结构,并且将它传递。

如果你想5个不同的对象进行传递,然后,你可以通过。如果都是同一类型的,那么你可以使用集合或数组或根据您的方案变量参数。


0
投票

我觉得任何事情序列化是完全的事情。如果你可以序列化对象,那么你可以传递(存储,传输...)它,通过它在整体性能。什么格式的序列化数据来选择的,则是另一个问题。


0
投票

这取决于你想传递的数据。

  1. 如果你逝去的键值对,您可以使用地图(HashMap中)。
  2. 如果它仅仅是一个不同的对象的列表,你可以用列表(ArrayList的)
  3. 另一种选择是与获取和设置方法创建DTO(数据传输对象)。
  4. 你可能想看看VARARGS功能,是Java 5中引入。

0
投票

我建议一个Map [HashMap中],你可以然后通过他们的密钥访问参数值。


推荐问答