在 log 方法中使用 void 方法
using void methods in log method
在MainActivity
class:
Log.i("Game ends! ","" + object1.winner()+ object2.winner());
在Game
class:
public void winner() {
if(this.points!=0) {
Log.i("Winner is", this.objectName);
}
}
错误是:'+ 运算符不能应用于 java.lang.String,void
根据给定答案用户的专业知识,我已经这样做了。
public String winner() {
if(this.points!=0) {
return this.name;
}
}
错误:缺少 return 语句
void
关键字不是对象或变量,它所做的只是指定方法不 return 任何东西。所以下一行意味着该函数将 return void
(即什么都没有):
public void doSomething() {}
因此,使用方法Log.i()
打印nothing是不可能的。此方法需要两个 String
对象,它可以打印到 logcat。您可以使用 int
的唯一原因是 Java 处理 String
连接的方式;当使用 +
运算符时,它会自动将任何原始类型(boolean
、int
、float
等)转换为 String
。
Log
方法需要 两个 String
个对象的原因只是为了保持 logcat 中的易读性。第一个参数是一个 TAG
变量,通常是调用该方法的 Class
的名称。这通常是通过在每个 class:
中创建一个静态值来完成的
private static final String TAG = MyActivity.class.getSimpleName();
这样就可以使用Log
方法如下:
Log.i(TAG, "Log information…");
这将导致更统一的消息写入 logcat。
因此,有了这些信息,问题仍然存在;你想输出什么到 logcat?
如果您只想输出调用了方法,则只需在方法调用之前(或之后)调用 Log
语句:
Log.i(TAG, "doSomething() called");
doSomething();
否则,如果您确实希望您的方法 return
一个可打印的结果,那么您必须 return 除了 void
之外的其他东西。 String
、原始类型或可以使用 toString()
方法打印的 Object
。
在MainActivity
class:
Log.i("Game ends! ","" + object1.winner()+ object2.winner());
在Game
class:
public void winner() {
if(this.points!=0) {
Log.i("Winner is", this.objectName);
}
}
错误是:'+ 运算符不能应用于 java.lang.String,void
根据给定答案用户的专业知识,我已经这样做了。
public String winner() {
if(this.points!=0) {
return this.name;
}
}
错误:缺少 return 语句
void
关键字不是对象或变量,它所做的只是指定方法不 return 任何东西。所以下一行意味着该函数将 return void
(即什么都没有):
public void doSomething() {}
因此,使用方法Log.i()
打印nothing是不可能的。此方法需要两个 String
对象,它可以打印到 logcat。您可以使用 int
的唯一原因是 Java 处理 String
连接的方式;当使用 +
运算符时,它会自动将任何原始类型(boolean
、int
、float
等)转换为 String
。
Log
方法需要 两个 String
个对象的原因只是为了保持 logcat 中的易读性。第一个参数是一个 TAG
变量,通常是调用该方法的 Class
的名称。这通常是通过在每个 class:
private static final String TAG = MyActivity.class.getSimpleName();
这样就可以使用Log
方法如下:
Log.i(TAG, "Log information…");
这将导致更统一的消息写入 logcat。
因此,有了这些信息,问题仍然存在;你想输出什么到 logcat?
如果您只想输出调用了方法,则只需在方法调用之前(或之后)调用 Log
语句:
Log.i(TAG, "doSomething() called");
doSomething();
否则,如果您确实希望您的方法 return
一个可打印的结果,那么您必须 return 除了 void
之外的其他东西。 String
、原始类型或可以使用 toString()
方法打印的 Object
。