Java 如何将对象数组传递给方法
我在一个类中有一个名为getStrategy的方法,它需要一个数组,如图所示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
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-关于公开实现细节的有趣之处-很好。