![](/img/trans.png)
[英]how to store string value to array string and can call that array in another class to Print as string in single line
[英]How to store an array of object types as a string so another class can later call and print that string. java
我有一个具有不同数据类型的不同对象的数组,我希望能够将该数组的对象存储为字符串,以便以后可以使用其他方法。
import java.util.Arrays;
public class Music {
private String songTitle;
private double songLength;
private int rating;
public Music(String songTitle, double songLength, int rating) {
this.songTitle = songTitle;
this.songLength = songLength;
this.rating = rating;
}
public String getsongTitle()
{
return songTitle;
}
public double getsongLength()
{
return songLength;
}
public int rating()
{
return rating();
}
@Override
public String toString() {
return "music{"+ "songTitle= " + songTitle + ", songLength= "
+ songLength + ",rating=" + rating + '}';
}
//constructors for music objects
static Music song1 = new Music ("song name", 5.32, 10);
static Music song2 = new Music ("billy",1.2, 8 );
static Music song3 = new Music ("hello", 1.5, 9 );
static //Create array and make posistion 0 = song1
Music[] songDetails ={song1,song2,song3};
public static void main(String[] args) {
System.out.println(Arrays.toString(songDetails));
System.out.println(songDetails[0]);
}
}因此,只打印数组就很容易了,但是如何将其存储为String以便以后调用。
我已经坚持了几个小时。 我研究过使用stringbuilder,但无法获得想要的结果。
为清晰起见进行编辑很抱歉,您俩都说得有些不清楚。
我想要的是声明一个空字符串,并将数组的内容保存到该字符串。 但是当我尝试这样做时,月食会告诉我。 “类型不匹配:无法从音乐转换为字符串”
这就是真正的问题。 至于方法和类,我仍然在学习方法,调用并调用它们,所以我会回去研究一下自己。
您可以创建2D数组,然后将对象存储在[i] [0]中,并将要调用的“字符串”存储在[i] [1]中。
只需创建第二个数组或String类型的列表,然后使用String.valueOf(...)
在第一个数组上进行迭代即可将对象作为String存储在新容器中。
StringBuilder sb = new StringBuilder();
sb.append(song1.toString());
sb.append(" some delimiter ");
sb.append(song2.toString());
System.err.println(sb.toString());
那是你需要的吗?
编辑:有可能以这种方式做sb.append(song1);
因为如果传递了未知的Object,StringBuilder将自动调用toString()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.