如何制作一种同时打印整数和字符串的方法?我试过了
public static void print(String txt){
System.out.println(txt);
}
这样我只能打印字符串。
对不起我的问题,但我尝试搜索,但没有(我可能使用了错误的关键字)
感谢提前。
如何制作一种同时打印整数和字符串的方法?我试过了
public static void print(String txt){
System.out.println(txt);
}
这样我只能打印字符串。
对不起我的问题,但我尝试搜索,但没有(我可能使用了错误的关键字)
感谢提前。
除了不同的签名,你也可以只使用一个泛型参数,比如一个 Object,让 Java 为你做一些自动装箱:
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 的项目中,我都使用其中一种参数,它采用任意数量的参数。
您可以拥有具有相同方法名称的不同签名。
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));
}
重载它。
public static void print (String txt) {
System.out.println(txt);
}
public static void print (int txt) {
System.out.println(txt);
}
或者toString
在使用 Object方法将所有值传递给函数之前将其转换为字符串。
您需要查看的内容称为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 类的老大。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
}
}
您可以使用 Object 对象。它是所有 java 对象的通用类。
public static void print(Object txt){
System.out.println(txt);
}
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);
}
}