【问题标题】:Android: Object contains class-IDAndroid:对象包含类 ID
【发布时间】:2017-01-30 15:40:03
【问题描述】:

我有一个带有方法的类,它返回一个字符串。如果我创建一个对象并调用该方法,该对象包含类的ID(com.ma.singhalja.testclass.greeting@99e92d)

package com.ma.singhalja.testclass;

import android.app.Application;


public class greeting extends Application{

    String sayHello(){
        return "Hello!";
    }
}

我的主要活动:

package com.ma.singhalja.testclass;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        greeting Hello = new greeting();
        Hello.sayHello();
        System.out.println(Hello);
    }
}

日志: I/System.out:com.ma.singhalja.testclass.greeting@99e92d

谁能告诉我如何真正将字符串“Hello”放入对象中?我已经尝试使用 .toString() 转换为字符串。

谢谢!!

【问题讨论】:

  • 不完全确定,你想要什么,但也许:String response = Hello.sayHello(); System.out.println(response);?或者覆盖对象中的toString方法。
  • 感谢您的帮助!

标签: java android class object


【解决方案1】:

从技术上讲,你不会打印好东西:

System.out.println(Hello.sayHello());

这将输出System.out.println(...) 的结果Hello.sayHello(),所以Hello!。 如果您执行System.out.println(Hello);,则您正在尝试打印Class

顺便说一句:

  • 一般来说,A类大写Greeting而不是greeting
  • 实例化 Application 在 Android 中不好用。这是平台做的 那。使用getApplication() 获取当前实例
  • System.out.println(...) 这不是 Android 的东西......你可以使用 Log.d(...) 用于调试

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多