我习惯于通过打印日志消息进行调试。我跟踪的变量由String和int组成。
例如,我以前打印以下内容:

Log.e(TAG, value1+":"+value2+":"+String3+":"+String4+":"+value5);
Log.e(TAG, String6+":"+value7);


其中value1等是intString3等是String变量。

现在的问题是,我是否可以编写一个将变量(int,String或其他原始类型)的任意集合作为参数并输出Log的方法?
对于String,我可以使用method(String... arg),但是我不知道如何使用int
我尝试了(Object...)并将.toString()放在各处,但是int的类型不是Object ....

编辑:
我的最终目标:我想要一种仅将要调试的变量作为参数的方法。 (它们可以是任何类型,而不仅仅是String或int ...也可以是您可以转换为string的任何类型)。因此,该方法必须为我执行“原始”->“对象”的转换。

最佳答案

这不是问题,您可以将int强制转换为Integer这是一个对象

java默认是这样做的,您可以将int发送到接收Object的方法
它叫做AutoBoxing

自动转换:



public static String toS(Object o1, Object o2){
    return o1 + " " + o2;
}


现在您可以向其发送一个整数,它将自动将其转换为Integer:

int i = 8;
String combined = toS(i, "hello");

关于java - 在Java中混合String和int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26019441/

10-12 23:31