我的Java类中的字符串是空的

时间:2014-09-23 13:46:16

标签: android string class

我的班级价值有问题。在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);

4 个答案:

答案 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" ;
}