当前位置: 首页 > 面试题库 >

我从arraylist获取内存地址,需要信息

黄俊雄
2023-03-14
问题内容

我正在获取一个文本文件并填充一个arraylist。为了测试文件,我在继续之前将其打印出来。我只能从文件中看到内存地址,而不能看到实际信息。有什么简单的东西,也许很明显我想念吗?

public class TriviaQuestion {

private String player;
private String category;
private String question;
private String answer;
private int score = 0;

/**
 * 
 */


public TriviaQuestion() {
    player = "unknown";
    category = "unknown";
    question = "unknown";
    answer = "unknown";
    score = 0;
}

public TriviaQuestion(String category, String question, String answer){

}
public TriviaQuestion(String player, String category, String question,
        String answer, int score) {
    super();
    this.player = player;
    this.category = category;
    this.question = question;
    this.answer = answer;
    this.score = score;
}


/**
 * @return the player
 */
public String getPlayer() {
    return player;
}


/**
 * @param player the player to set
 */
public void setPlayer(String player) {
    this.player = player;
}


/**
 * @return the category
 */
public String getCategory() {
    return category;
}


/**
 * @param category the category to set
 */
public void setCategory(String category) {
    this.category = category;
}


/**
 * @return the question
 */
public String getQuestion() {
    return question;
}


/**
 * @param question the question to set
 */
public void setQuestion(String question) {
    this.question = question;
}


/**
 * @return the answer
 */
public String getAnswer() {
    return answer;
}


/**
 * @param answer the answer to set
 */
public void setAnswer(String answer) {
    this.answer = answer;
}


/**
 * @return the score
 */
public int getScore() {
    return score;
}


/**
 * @param score the score to set
 */
public void setScore(int score) {
    this.score = score;
}







}

测试员

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;


public class TriviaQuestionTester {

/**
 * @param args
 */
public static void main(String[] args) throws IOException {

     File triviaFile = new File("trivia.txt");

    Scanner triviaFile1 = new Scanner(triviaFile);
    String lastKnownCategory = "";

    ArrayList<TriviaQuestion> myList = new ArrayList<TriviaQuestion>();
    while (triviaFile1.hasNextLine()){
        String currentLine = triviaFile1.nextLine();
        if (!currentLine.isEmpty()) {
            TriviaQuestion currentQuestion = new TriviaQuestion(currentLine,     currentLine, currentLine);

            if (currentLine.endsWith("?")) {
                currentQuestion.setCategory(lastKnownCategory);
                currentQuestion.setQuestion(currentLine);
                currentQuestion.setAnswer(triviaFile1.nextLine());
            } else {
                currentQuestion.setCategory(currentLine);
                currentQuestion.setQuestion(triviaFile1.nextLine());
                currentQuestion.setAnswer(triviaFile1.nextLine());
                lastKnownCategory = currentLine;
            }
            myList.add(currentQuestion);
        }


    }
    triviaFile1.close();





    System.out.println(myList);

}

}

问题答案:

有什么简单的东西,也许很明显我想念吗?

是的-
你没有覆盖toStringTriviaQuestion,所以你得到的默认实现Object

Object类的toString方法返回一个字符串,该字符串包括该对象是其实例的类的名称,符号字符“
@”以及该对象的哈希码的无符号十六进制表示形式。换句话说,此方法返回的字符串等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())

只需将其添加到TriviaQuestion

@Override public String toString() {
    return "Player: " + player + "; Category: " + category 
        + "; Question: " + question + "; Answer: " + answer
        + "; Score: " + score;
}

(或String.format在方法内使用以执行相同的操作。)



 类似资料:
  • 问题内容: 我正在尝试使用Java获取我的Internet IP地址,但是当我的IP地址为192.168.0.xxx时,我一直在获取本地地址(即:127.0.0.1) 我正在使用该行: 这似乎是获取IP地址的标准方法,但这不是我想要的。每个教程都说要使用此行,所以我有些困惑。 有人可以让我知道如何获取正确的IP地址吗? 我在连接到WiFi的设备上运行,但未使用任何电缆。我正在使用ifconfig

  • 我有一个API,它返回的数据类型为_HttpClientResponse,因为我使用的是httpClient,我使用下面的 当我打印结果i/flatter(23708):字符串i/flatter(23708):{“结果”:[{“IPAddress”:“192.1.1.1”,“说明”:“Windows 2016 Server”},{“IPAddress”:“192.1.1.1”,“说明”:“Wind

  • 我试图从一个简单的文本文件中获取地址,这样不理解代码的人仍然可以添加/删除或更改地址。 Phpmailer工作完全正常,当我设置一个地址,直接写在代码中,甚至与数组和Foreach。 所以现在我有这个: mail.php: mail.txt: echo确实返回了两个地址,但是var在addAddress()行中似乎不起作用,我得到了一个常见的错误:Mailer error:您必须至少提供一个收件人

  • 问题内容: 我需要一种跨平台的方法来在运行时确定计算机的MAC地址。对于Windows,可以使用“ wmi”模块,在Linux下,我能找到的唯一方法是运行ifconfig并在其输出中运行正则表达式。我不喜欢使用只能在一个OS上运行的程序包,而且更不用说容易出错的语法解析另一个程序的输出。 有谁知道跨平台方法(Windows和Linux)方法来获取MAC地址?如果没有,还有谁比我上面列出的方法更优雅

  • 问题内容: 我正在尝试使用哨兵来获取我的主服务器的连接地址,问题是哨兵仅在故障转移时发送该地址,但是如果我的主服务器关闭并且从属服务器被提升为主服务器并且我的应用程序刚刚启动,则不会知道并且不会收到有关原始主服务器已关闭的消息,是否有任何方法可以与哨兵通信,并询问他认为主服务器正在使用C#servicestack redis客户端的人? 问题答案: 不得不这样做,我使用下一个代码段模仿了redis

  • 我正在尝试使用sentinel来获取我的主机的连接地址,问题是sentinel只在故障转移时发送地址,但如果我的主机关闭,而从机被提升为master,而我的应用程序刚刚启动,它将不知道也不会得到原始主机关闭的消息,有没有办法与sentinel通信,并询问他认为master使用的是C#servicestack redis客户机?