我想在我的列表中使用课程IpAddress
而不是String
,如下所示:
ArrayList<IpAddress> IpAddresses = new ArrayList<>();
但它不起作用。我无法将字符串line
添加到我的列表中,因此程序无法正常工作。我该怎么办?
public class IpAddress implements Comparable<IpAddress> {
private String ip;
public IpAddress(String ip) {
this.ip = ip;
}
@Override
public int compareTo(IpAddress o) {
return this.ip.compareTo(o.ip);
}
}
public class IPvLIST {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader(new File("ip.txt"));
BufferedReader br = new BufferedReader(fr);
ArrayList<String> IpAddresses = new ArrayList<>();
String line;
int n = 0;
while ((line = br.readLine()) != null) {
IpAddresses.add(line);
}
}
}
答案 0 :(得分:0)
您需要将字符串line
转换为IpAddress。根据您拥有的代码,将while
语句更改为
while ((line = br.readLine()) != null) {
IpAddresses.add(new IpAddress(line));
}
根据这是一个简单的测试程序还是其他内容,您可能还会查看.NET类IPAddress
。这有一个解析函数,它将获取字符串并将其转换为IPAddress
,这样可以更轻松地执行实际的网络功能。