java - 如何返回另一个类调用的数组?
问题描述
所以我之前问了一个关于在 Java 中返回数组的问题,我得到了答案,现在我的代码用 getter 更新了,但是我不断得到一些类似的东西:
Phone@b08deb
作为输出,这不是我想要的,如果我要执行以下操作:
return arr[1];
它告诉我Phone无法转换为Phone [],我非常迷茫,不知道如何简单地让编译器从数组中吐出数字“00000”(我知道我不知道)需要初始化数组,因为它默认为 0)
问题链接: 如何将数组返回给 Java 中的另一个类?
更新代码:
class TheDriverClass
{
public static void main(String[] args)
{
Phone p = new Phone(5);
System.out.println(p);
// Here it's supposed to return the values of an array with size 5,
//so it should print out 00000
}
}
接下来我上课电话:
class Phone
{
private Phone[] arr; //I'm supposed to keep the array private
public Phone(int theLength){
arr = new Phone[size];
}
public Phone[] getPhone(){
return arr;
}
}
解决方案
当您 System.out.println() 一个数组时,它基本上会打印出数组指针。
你需要像 Arrays.toString(array) 这样的东西,它会在每个元素上调用 toString 并打印出人类可读的东西。
还要有一个可以阅读的电话。您还需要覆盖其上的 toString()。
class Phone
{
private int[] numbers; //I'm supposed to keep the array private
public Phone(int theLength){
numbers = new int[theLength];
}
public int[] getPhone(){
return numbers;
}
@Override
public String toString() {
return Arrays.toString(numbers);// also can use return Arrays.toString(numbers).replaceAll(",|\\[|\\]| ", ""); to clean up the , and []s
}
}
推荐阅读
- python - 调用 len() 时 int obect 不可调用
- dns - Vpn 连接从机器#A 成功,但从机器#B 失败
- c# - 无法从 Azure IoT Edge 模块登录到应用程序洞察
- r - 如何将风险比应用于 R 中的 flexsurv 模型?
- javascript - Chrome 扩展以响应角度页面更改/在更改时重新加载
- c# - WinForm 组合框控件 DotNet 4.8 - VS2019 中的错误
- c - 尝试标记字符串并将每个部分插入数组时出错
- openoffice.org - 尽管有 --headless 参数,OpenOffice 仍会打开 GUI
- c++ - 将 find() 和 modify() 与 boost MultiIndex 一起使用时出现类型转换错误
- html - 当我设置“vh”来设置网格行间隙而不是相对值(fr、百分比等)时,为什么我的第一行有额外的空间?