可以解释为什么这段代码片段的计算结果为-1?
我除了它是0,因为它是'1'的索引
Arrays.asList("1234".toCharArray()).indexOf((char)'1');
我也尝试过:
Arrays.asList("1234".toCharArray()).indexOf('1');
Arrays.asList("1234".toCharArray()).indexOf(49);
答案 0 :(得分:5)
做"1234".indexOf('1')
。无需转换为数组,然后转换为List。
当您在一个基元数组(在您的情况下为char[]
)上调用Arrays.toList时,您的尝试不起作用的原因,它产生了一个List,其单个元素就是数组本身,所以列表不包含' 1'。