将List <string>与String </string>进行比较

时间:2014-08-15 19:29:59

标签: java arrays windows list compare

我的作业遇到了一些问题。从input.txt文件中读取后,我创建了一个数组,其中存储了所有信息,但由于某种原因,我似乎无法单独比较它们。我已经尝试了equals()并且包含()我无法想到任何可行的东西。我想要实现的目标。

public static void readFromFile(String filePath) throws IOException{

    BufferedReader inputFile = new BufferedReader(new FileReader(filePath));
    String inputText = null;
    List<String> list = new ArrayList<String>();
    String[] splited = null;

    //splitting the text file   
    while((inputText = inputFile.readLine())!= null) {
        splited = inputText.split("[;^:]");
        for (String part : splited) {
        list.add(part); 
        }
    }

    String [] stockArr = list.toArray(new String[list.size()]);

    // verify contents of array
    for(int index = 0; index < stockArr.length;index++) {
    System.out.println(stockArr[i]);
    }

    for (int i = 0; i > stockArr.length; i++) {
        if(stockArr[i].equals("BusinessContact")) {
            System.out.println("test");
        }
    }
}

现在,如果我要打印它,它不打印&#34;测试&#34;而是只有

BusinessContact
firstName=Victor
middleName=Garces
lastName=Guana
Address
addressType=WORK
streetName=Athabasca Hall
streetNumber=2-32
apartmentNumber=4-52
city=Edmonton
postalCode=T6G 2E8
country=Canada 

2 个答案:

答案 0 :(得分:5)

检查第二个for循环的运行条件:

for (int i = 0; i > stockArr.length; i++){
    if(stockArr[i].equals("BusinessContact")){
        System.out.println("test");
    }
}

我认为你的意思是

for (int i = 0; i < stockArr.length; i++){
    if(stockArr[i].equals("BusinessContact")){
        System.out.println("test");
    }
}

答案 1 :(得分:4)

最后一个for循环的条件应为<

for (int i = 0; i < stockArr.length; i++){