【发布时间】:2024-04-24 17:10:02
【问题描述】:
我正在尝试编写一个 getMessageList 方法,将消息列表转换为字符串并返回它。但是,toString 方法实际上并没有将列表的成员转换为字符串。
Main.java
import java.util.ArrayList;
import java.util.List;;
public class Main {
public static void main(String[] args) {
List<LogMessage> ln = new ArrayList <LogMessage>();
ln.add(new LogMessage("SERVER1:file not found"));
ln.add(new LogMessage("SERVER2:disk"));
ln.add(new LogMessage("SERVER3:not found disk"));
ln.add(new LogMessage("SERVER4:disk/found"));
ln.add(new LogMessage("SERVER5:Disk found"));
ln.add(new LogMessage("SERVER6:no/disk found"));
ln.add(new LogMessage("SERVER7:no disk/found"));
ln.add(new LogMessage("SERVER8:no disk found"));
ln.add(new LogMessage("SERVER9:not found/disk"));
ln.add(new LogMessage("SERVER10:not found disk"));
for(LogMessage lnsg : ln) {
System.out.println(lnsg.getDescription() + " => " + lnsg.getmachineId());
System.out.println("containsWord = " + lnsg.containsWord("disk"));
}
SystemLog s1 = new SystemLog(ln);
System.out.println( s1.getMessageList(ln));
System.out.println("messageList Size: " + s1.getMessageList(ln).length);
System.out.println("remove list " + s1.removeMessages("disk"));
System.out.println("message List " + s1.getMessageList(ln));
System.out.println("messageList Size: " + s1.getMessageList(ln).length);
}
}
我的getMessageList:
public String[] getMessageList(List a) {
String[] messagelist = new String[a.size()];
for(int i = 0; i < a.size();i++) {
System.out.println("a.get(i): " + a.get(i)); //test
System.out.println("a.get(i).toString: " + a.get(i).toString()); //test
messagelist[i] = a.get(i).toString();
}
return messagelist;
}
输出
a.get(i): LogMessage@33909752
a.get(i).toString: LogMessage@33909752
a.get(i): LogMessage@55f96302
a.get(i).toString: LogMessage@55f96302
a.get(i): LogMessage@3d4eac69
a.get(i).toString: LogMessage@3d4eac69
a.get(i): LogMessage@42a57993
a.get(i).toString: LogMessage@42a57993
a.get(i): LogMessage@75b84c92
a.get(i).toString: LogMessage@75b84c92
a.get(i): LogMessage@6bc7c054
a.get(i).toString: LogMessage@6bc7c054
a.get(i): LogMessage@232204a1
a.get(i).toString: LogMessage@232204a1
a.get(i): LogMessage@4aa298b7
a.get(i).toString: LogMessage@4aa298b7
a.get(i): LogMessage@7d4991ad
a.get(i).toString: LogMessage@7d4991ad
a.get(i): LogMessage@28d93b30
a.get(i).toString: LogMessage@28d93b30
[Ljava.lang.String;@1b6d3586
a.get(i): LogMessage@33909752
a.get(i).toString: LogMessage@33909752
a.get(i): LogMessage@55f96302
a.get(i).toString: LogMessage@55f96302
a.get(i): LogMessage@3d4eac69
a.get(i).toString: LogMessage@3d4eac69
a.get(i): LogMessage@42a57993
a.get(i).toString: LogMessage@42a57993
a.get(i): LogMessage@75b84c92
a.get(i).toString: LogMessage@75b84c92
a.get(i): LogMessage@6bc7c054
a.get(i).toString: LogMessage@6bc7c054
a.get(i): LogMessage@232204a1
a.get(i).toString: LogMessage@232204a1
a.get(i): LogMessage@4aa298b7
a.get(i).toString: LogMessage@4aa298b7
a.get(i): LogMessage@7d4991ad
a.get(i).toString: LogMessage@7d4991ad
a.get(i): LogMessage@28d93b30
a.get(i).toString: LogMessage@28d93b30
messageList Size: 10
remove list [LogMessage@55f96302, LogMessage@3d4eac69, LogMessage@42a57993, LogMessage@6bc7c054, LogMessage@232204a1, LogMessage@4aa298b7, LogMessage@7d4991ad, LogMessage@28d93b30]
a.get(i): LogMessage@33909752
a.get(i).toString: LogMessage@33909752
a.get(i): LogMessage@75b84c92
a.get(i).toString: LogMessage@75b84c92
message List [Ljava.lang.String;@4554617c
a.get(i): LogMessage@33909752
a.get(i).toString: LogMessage@33909752
a.get(i): LogMessage@75b84c92
a.get(i).toString: LogMessage@75b84c92
messageList Size: 2
【问题讨论】:
-
欢迎来到 SO。请尽量不要在您的问题中添加填充物。如果您的问题包含太多代码,那么请想办法缩短它。这使问题更有吸引力,更容易回答。
-
LogMessage是否覆盖toString方法? -
也发布您的
LogMessage方法
标签: java string arraylist methods