Java 如何将对象数组传递给方法

Java 如何将对象数组传递给方法,java,Java,我在一个类中有一个名为getStrategy的方法,它需要一个数组,如图所示 public static String getStrategy(Hand[] Hand) { } 这是我手上的东西 public class Hand { public char side; } 关于我的客户,请告诉我如何通过这个getStrategy方法 我试过这个 Hand[] HandArray = new Hand[1]; HandArray.side = 's'; MyClassUtil.ge

我在一个类中有一个名为getStrategy的方法,它需要一个数组,如图所示

public static String getStrategy(Hand[] Hand)
{

}
这是我手上的东西

public class Hand
{
  public char side;
}
关于我的客户,请告诉我如何通过这个getStrategy方法

我试过这个

Hand[] HandArray = new Hand[1];

HandArray.side = 's';

MyClassUtil.getStrategy(HandArray);

请告诉我这是正确的还是错误的???

好吧,除了中间的那条线外,一切都很好(除了命名)。当前,中间线尝试访问数组,就像它是单个对象一样。您可能需要以下内容:

Hand[] hands = new Hand[1];
Hand hand = new Hand();
hand.side = 's';

hands[0] = hand;
MyClassUtil.getStrategy(hands);

我还强烈建议不要使用公共字段……

好吧,除了中间的那条线外,其他都可以(不说名字)。当前,中间线尝试访问数组,就像它是单个对象一样。您可能需要以下内容:

Hand[] hands = new Hand[1];
Hand hand = new Hand();
hand.side = 's';

hands[0] = hand;
MyClassUtil.getStrategy(hands);


我还强烈建议不要使用公共字段…

HandArray.side='s':编译器将已经告诉您这是错误的。请在这篇文章或以后的文章中包含任何编译器错误消息。这些信息通常信息量很大,您需要学习如何理解它们。我们可以提供帮助。只要从逻辑上考虑一下-数组本身是否有
字段?您必须在hand类中声明一个构造函数,这样您就可以执行
HandArray[0]=new hand('s')
和该参数将初始化边变量。另外,将
公共静态字符串getStrategy(Hand[]Hand)
替换为
公共静态字符串getStrategy(Hand[]Hand)
@Eng有什么区别吗?:)<代码>HandArray.side='s':编译器将已经告诉您这是错误的。请在这篇文章或以后的文章中包含任何编译器错误消息。这些信息通常信息量很大,您需要学习如何理解它们。我们可以提供帮助。只要从逻辑上考虑一下-数组本身是否有
字段?您必须在hand类中声明一个构造函数,这样您就可以执行
HandArray[0]=new hand('s')
和该参数将初始化边变量。另外,将
公共静态字符串getStrategy(Hand[]Hand)
替换为
公共静态字符串getStrategy(Hand[]Hand)
@Eng有什么区别吗?:)通过@Jon Skeet的最后一句话,他指的是char字段“size”。以这种方式使用protectedhere通常更合适,因为它们可能是同一名称空间的一部分。如果需要public,请创建一个私有变量_size,并使用size作为public修饰符,将其定义为private char _size;受保护的字符大小{public get{return{u size;},set{{u size=value}}。或者,只要不需要重新设置,
side
可以设置为
public final
。当然,只有当
Hand
构造函数将
char
作为参数时,这才可能发生。@KublaiKhan:这仍然会公开实现细节(字段)。我通常只将真常量(
publicstaticfinal
不可变类型的字段)作为变量公开。@JonSkeet-关于公开实现细节的有趣之处-理解得很好。根据@JonSkeet的最后一句话,他指的是字符字段“size”。以这种方式使用protectedhere通常更合适,因为它们可能是同一名称空间的一部分。如果需要public,请创建一个私有变量_size,并使用size作为public修饰符,将其定义为private char _size;受保护的字符大小{public get{return{u size;},set{{u size=value}}。或者,只要不需要重新设置,
side
可以设置为
public final
。当然,只有当
Hand
构造函数将
char
作为参数时,这才可能发生。@KublaiKhan:这仍然会公开实现细节(字段)。我通常只将真常量(
publicstaticfinal
不可变类型的字段)作为变量公开。@JonSkeet-关于公开实现细节的有趣之处-很好。