在Java中,通过使用index和for到达Arraylist元素会得到不同的结果

在Java中,通过使用index和for到达Arraylist元素会得到不同的结果,java,arraylist,indexing,foreach,Java,Arraylist,Indexing,Foreach,在我的程序中,我持有主机列表,它是一个使用泛光灯控制器的ArrayList。如果我想使用下面的foreach循环达到值(在本例中为IP地址),则输出为: foreach内部的主机ip:10.0.0.1 另一方面,如果我使用如下索引访问元素,则输出为: 主机ip使用索引:[10.0.0.1] getIPv4Addresses()方法通常返回IPv4Address[],但是,我不明白为什么这两种方法会得到不同的结果。我们能看到它们的区别吗???第二个输出的O0代码似乎错误。当代码中有“Host ip

在我的程序中,我持有主机列表,它是一个使用泛光灯控制器的ArrayList。如果我想使用下面的foreach循环达到值(在本例中为IP地址),则输出为:

foreach内部的主机ip:10.0.0.1

另一方面,如果我使用如下索引访问元素,则输出为:

主机ip使用索引:[10.0.0.1]


getIPv4Addresses()方法通常返回IPv4Address[],但是,我不明白为什么这两种方法会得到不同的结果。

我们能看到它们的区别吗???第二个输出的O0代码似乎错误。当代码中有“Host ip inside foreach”时,它如何打印“Host ip using index”消息?Host.getIPv4Addresses()返回一个ip地址数组。主机中只有一个ip地址。即,;10.0.01两者结果相同。输出的差异在哪里???对于每个结果:[10.0.0.1]对于索引:10.0.0.1差异是方括号不是不同的结果只是格式不同而已
for (IDevice iDevice : hosts) {
    logger.info("Host ip inside foreach: {}",iDevice.getIPv4Addresses());
}
int i = 0;
IDevice host = hosts.get(i);
logger.info("Host ip using index: {}",host.getIPv4Addresses());