Строки Java: проблема со значениями Ascii - PullRequest
0 голосов
/ 02 апреля 2012

У меня есть array of strings, String[] data, и его 10 элементов имеют значение P и так data[10]={java.lang.String@587}"P"

Когда я проверяю на data[10], я получаю data[10].value[0] = 'P' 80, я не уверен, что это 80 имеет в виду тоже.

В моей программе я пытаюсь проверить

if (data[10] == "P") {
    lookUp = data[7] + "." + data[8]+ "." + "Old";
} else if (data[10] == "C") {
    lookUpCode = data[7] + "." + data[8] + "." + "Old";
} else {
    lookUpCode = data[7] + "." + data[8];
}

Итак, у меня есть проблема в том, что даже если data[10]="P" даже тогда я нажму последний else, а не первый if циклесть предложения?

Ответы [ 2 ]

5 голосов
/ 02 апреля 2012

Вам нужно сравнивать строки по значению, а не по ссылке:

if ("P".equals(data[10]))
0 голосов
/ 02 апреля 2012

В Java для сравнения строк вы должны использовать метод equals (String s).В вашем коде:

data[10].equals("P")

Это потому, что строки являются объектами, а "==" сравнивает ссылки на объекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...