java - 如何在用户定义的类 toString 方法中返回填充的数组项?
问题描述
该方法应该从数组中返回所有已填充的项,但它会返回数组中的最后一项。
public String toString() {
String result = "";
for( int i = 0; i < list.length; i++ )
{
result = String.format("%d. %s\n", i+1, list[i]);
}
return result;
}
解决方案
因为您总是用result
最新的替换字符串中 的值
result = String.format("%d. %s\n", i+1, list[i]); // replaces the value always with latest
所以使用 useStringBuilder
附加所有值,然后返回它
public String toString() {
StringBuilder builder = new StringBuilder();
for( int i = 0; i < list.length; i++ )
{
builder.append(String.format("%d. %s\n", i+1, list[i]));
}
return builder.toString();
}
推荐阅读
- laravel - 为 CNAME URL 应用 Lets Encrypt SSL Laravel Forge
- wordpress - Wordpress 自定义帖子类型动态重写 URL
- javascript - 如何模拟对数据库服务的请求?
- python - 使用 BrokenPipe 运行多处理队列关闭中断:Errno 32
- c - 为什么我的二叉树不打印任何东西?
- c++ - Resizing local containers in const method through base class with template specialisations
- javascript - 如何压缩大量数据以节省数据库空间和计算能力
- r - R中的moran.test
- java - 我在哪里可以找到实现 org.osgi.service.log.LoggerFactory 服务的包?
- apache-spark - “spark.yarn.executor.memoryOverhead”和“spark.memory.offHeap.size”之间的区别