我的班级价值有问题。在pintln中,partida_club的值是可以的,但在此.partida_club是空的。
如果我写的是partida_tipo =" car",这是好的。 摘要:在示例中partida_club不工作,partida_tipo工作正常
public class datos_partidas {
protected String partida_club;
protected String partida_tipo;
public datos_partidas(String partida_club, String partida_tipo){
super();
System.out.println(partida_club); // Print "Son Muntaner"
this.partida_club = partida_club; // This return empty
this.partida_tipo = "car"; // This return "car"
}
}
拨打
partida = new datos_partidas(
partidas.get(i).getPartida_club(),
partidas.get(i).getPartida_tipo());
arraydir.add(partida);
答案 0 :(得分:0)
首先调用System.out.println,然后调用 - init。试试这个:
public class datos_partidas {
protected String partida_club;
protected String partida_tipo;
public datos_partidas(String partida_club, String partida_tipo){
super();
this.partida_club = partida_club;
this.partida_tipo = "car";
System.out.println(partida_club);
}
}
当你调用datos_partidas(String,String)时,你的字符串不是空的吗?
答案 1 :(得分:0)
public class datos_partidas {
protected String partida_club;
protected String partida_tipo;
public datos_partidas(String partida_club, String partida_tipo){
super();
//the value is still not given to partida_club
System.out.println(partida_club);
this.partida_club = partida_club;
this.partida_tipo = "car"; // partida_tipo is now "car"
}
}
partida_club
为空,因为代码中的某处您将其设为空或尚未分配任何值。
partida_tipo
不为空,因为您正在分配字符串" car"直接到它。
您可以通过向方法提供值来检查,例如 -
//Now partida_club and partida_tipo contains strings
datos_partidas("15sep", "car");
所以很简单 -
如果你提供空值,那么同样会转到构造函数。
<强>更新强>
正如我在你的代码中看到的那样,你可能已经传递了类似的东西 -
partida_club = partidas.get(i).getPartida_club()
partida_tipo = partidas.get(i).getPartida_tipo()
问题是 - partidas.get(i).getPartida_club()
没有任何内容,partida_club
为空。
尝试打印partidas.get(i).getPartida_club()
的值,您会看到它是空白的。
<强>更新强>
public class datos_partidas {
protected String partida_club;
protected String partida_tipo;
public datos_partidas(String partida_club, String partida_tipo){
super();
//the value is still not given to partida_club
System.out.println(partida_club);
this.partida_club = partida_club; //the value is now given to partida_club
this.partida_tipo = "car"; // partida_tipo is now "car"
//this should not be blank
System.out.println(partida_club);
}
}
答案 2 :(得分:0)
更改您的功能,使其如下所示:
public class datos_partidas {
protected String partida_club;
protected String partida_tipo;
public datos_partidas(String _partida_club, String _partida_tipo){
super();
System.out.println(_partida_club);
this.partida_club = _partida_club;
this.partida_tipo = "car";
}
}
如果您正确调用构造函数,这应该有效。
答案 3 :(得分:-1)
this.partida_club = partida_club;
this.partida_tipo = partida_tipo;
然后,如果你想确定你的变量是否已被采用,最好是使用JOptionPane。另一种方法是写这个:
public String toString()
{
return "partida club"+" "+"partida_club+"partida tipo" +"\n" ;
}