我试图找出在另一个类中引用一个数组并且有很多乐趣。谁能帮忙..?这是代码。
据我所知,getter getName
正在为字符串工作,但我不知道如何使用getter引用数组aff_array[] get afz()
public class aff_array { String name; aff_array[] afz;
public aff_array[] getAfz() {
return afz;
}
public String getName() {
return name;
}
public static void main (String[] args) {
int z = 3; //total no of affirmations
int x = 1;
aff_array[] afz = new aff_array[z]; //dim
while ( x < z ) {
afz[x] = new aff_array(); // create objects for array
x = x + 1;
}
afz[1].name = "i am the best";
afz[2].name = "you are the rest";
}
这是另一个类,我希望数组值用aff_array.class.getName()
替换aff_array[] getAfz()
,但我不知道如何做或参考afz(1)
例如getName
正在工作)
public void onReceive(Context context, Intent intent)
{
setNotification(context, aff_array.class.getName());
WakeLocker.acquire(context);
Toast.makeText(context,"One shot alarm received. No more toasts will be shown.", Toast.LENGTH_SHORT).show();
WakeLocker.release();
}
答案 0 :(得分:1)
怎么样:
public String getAfz(int i) {
return aff_array[i];
}
答案 1 :(得分:0)
你只需要做:
aff_array instance = new aff_array();
// set the array inside it
setNotification(context, instance.getAfz()[0].getName());
在相同的实例instance
上访问数组之前,需要填充数组。
答案 2 :(得分:0)
看起来你想要它static。在这种情况下,您应该将数组声明为:
private static aff_array[] afz;
public static aff_array[] getAfz() {
return afz;
}
然后您可以按如下方式访问数组:
setNotification(context, aff_array.getAfz()[1].getName());
请注意:
aff_array.class.getName()
不调用您的自定义getName()
方法。它正在调用java.lang.Class.getName()
。
要调用自定义getName(),您应该调用aff_array.getName()
(如果是静态的)或myArray.getName()
其中myArray
是aff_array
的实例
答案 3 :(得分:0)
aff_array mainArray = new aff_array(); mainArray。 AFZ(0).getName(); 你可以这样做
答案 4 :(得分:0)
getAfz()方法返回一个完整的数组,但由于你需要一个数组中的特定条目,你可以初始化该数组然后引用它:
aff_array aa = new aff_array();
String name = aa.afz[1].getName(); // reference this in your setNotification
或者,您可以创建一个返回数组内特定对象的方法:
public aff_array[] getAfz(int i) {
return add_array[1];
}