java - 在Java中显示char的ArrayList
问题描述
我正在研究字符串置换问题的第一部分,我只是循环字符串的第一个字符并将其与同一字符串的每个后续字符交换。我初始化了一个空的 ArrayList 来存储所有称为listeFinale
. 当我打印该 ArrayList 时,我得到一个对象集合而不是值 ( [[C@61bbe9ba, [C@61bbe9ba, [C@61bbe9ba, [C@61bbe9ba]
),如何打印存储在 ArrayList 中的每个字符?
import java.util.ArrayList;
import java.util.List;
public class checkPermu {
public static void main(String[] args) {
String myString = "aabc";
applyPermu(myString);
}
public static void applyPermu(String toCheck){
char[] newString = toCheck.toCharArray();
List listeFinale = new ArrayList();
for(int i = 0 ; i < newString.length ; i ++){
char temp = newString[0];
newString[0] = newString[i];
newString[i] = temp;
listeFinale.add(newString);
System.out.println(listeFinale);
}
}
}
解决方案
首先,请不要为您的列表使用原始类型.. 更改:
List listeFinale = new ArrayList();
至:
List<char[]> listeFinale = new ArrayList<>();
至于你的实际问题。您看到的那些值是toString()
您的内部字符数组的默认输出。您可以遍历您的列表,并java.util.Arrays.toString(char[])
像这样为它们调用方法:
listeFinale.forEach(arr -> System.out.println(Arrays.toString(arr)));
或者,如果您想再次将它们作为字符串打印回来,请使用new String(char[])
:
listeFinale.forEach(arr -> System.out.println(new String(arr)));
推荐阅读
- python - 从 RapidMiner Studio 中的 Execute Python 处理器返回 pandas DataFrame 时出现 ValueError
- sql - 需要从 NUMBER 数据类型列 (123456789) 获取 DATE 格式 (YYYY-MM-DD)
- html - 为什么html图像彼此相邻?
- curl - cURL POST 请求重定向到 Twitter API 上的 GET
- android - 当 NavHostFragment 包含非滚动视图时,CoordinatorLayout 作为顶级装饰
- azure - 在 Azure 中运行服务而不管理 VM
- email - 通过 mailto 链接自定义标题
- javascript - Angular Material - 仅当条件为真时才在鼠标悬停时显示 Mat-Menu
- javascript - 动态 Webpack 需要文件夹中的内容
- xdebug - 使用 Xdebug 的捆绑调试客户端,示例说明如何在单步执行页面时同时设置局部变量和全局变量