打印Int和String

时间:2013-10-01 17:45:18

标签: java

如何创建一个方法来打印整数和字符串? 我试过了

public static void print(String txt){
    System.out.println(txt);
}

这样我只能打印字符串。

对不起我的noobish问题,但我尝试搜索,但没有(我可能使用错误的关键字)

感谢您提前。

7 个答案:

答案 0 :(得分:4)

除了不同的签名,您还可以使用通用参数,例如Object,让Java为您做一些autoboxing

class Untitled {

    public static void main(String[] args) 
    {
        U.log("test");
        U.log(45);
    }

    // U(tility)
    public static class U
    {
        public static void log( Object o )
        {
            System.out.println( o.toString() );            
        }
    }
}

我使用其中一个在我工作的每个基于Java的项目中都采用任意数量的参数。

答案 1 :(得分:3)

您可以使用相同的方法名称使用不同的签名。

public static void print(String txt){
    System.out.println(txt);
}
public static void print(int txt){
    System.out.println(txt);
}

您甚至可以使用相同的逻辑“解析”或“清理”参数,并减少代码..这样的事情:

public static void print(String txt){
    System.out.println(txt);
}
public static void print(int number){
    print(Integer.toString(number));
}

答案 2 :(得分:2)

重载。

public static void print (String txt) {
    System.out.println(txt);
}

public static void print (int txt) {
    System.out.println(txt);
}

将所有值转换为字符串,然后使用Object toString方法将其传递给函数。

答案 3 :(得分:1)

您需要了解的内容称为method overloading。重载方法就是那些 它们具有相同的名称但具有不同的方法签名。这将允许您对不同的数据执行相同的操作。

例如,计算各种2D形状的面积。您可以使用一种方法:

public void area(int length,int breadth){ // for rectangle and squares
    //logic here
}

和另一个如此:

public void area(int radius){ // guess who ?
    //logic here
}

现在,根据您的需要,调用适当的方法。

这应该是porfiriopartida已经发布的答案的补充。

以下是教程:http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html



话虽如此,您拥有的另一个选项是使用Object类作为方法的参数。 Object是所有Java类的大爸爸 教程:http://journals.ecs.soton.ac.uk/java/tutorial/java/javaOO/objectclass.html

答案 4 :(得分:0)

您可以使用Object对象。它是所有java对象的泛型类。

public static void print(Object txt){
    System.out.println(txt);
}

答案 5 :(得分:0)

Using generics
----------------
package simlpe;

public class simple
{                        
   public static < E > void print( E input)
   {

         System.out.println(input);
    }

    public static void main( String args[] )
    {
        // Creates a  Integer, Double and Character
        Integer A = 1;
        Double d = 1.1;
        Character ch = 'H';


        print( A ); // pass an Integer
        print( d ); // pass a Double 
        print( ch ); // pass a Character 
    } 
}

答案 6 :(得分:0)

class SamplePrint
{

  public static void main(String txt)
  {
    System.out.println(txt);
  }

  public static void main(int txt)
  {
    System.out.println(txt);
  }

  public static void main(String args[])
  {
    // This will automatically calls to print() which has string type arguments
    print("Hello Friend");

    // This will automatically calls to print() which has int type arguments
    print(100);
  }
}