Следующий код работает, но я его не написал.Он просматривает имена портов компьютеров и пытается сопоставить их с указанной строкой (для последовательной связи RxTx).
Мой вопрос заключается в том, что делает оператор внутри цикла for?Я никогда не видел никакого другого соглашения, кроме оператора (initialize; условие теста; итератор);
По сути, я спрашиваю, что делает часть (String portName: PORT_NAMES) и оператор ":"?
private static final String PORT_NAMES[] = {
"/dev/tty.usbserial-A9007UX1", // Mac OS X
"/dev/ttyUSB0", // Linux
"COM4", // Windows
};
CommPortIdentifier portId = null;
Enumeration portEnum = CommPortIdentifier.getPortIdentifiers();
// iterate through, looking for the port
while (portEnum.hasMoreElements()) {
CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement();
for (String portName : PORT_NAMES) {
if (currPortId.getName().equals(portName)) {
portId = currPortId;
break;
}
}
}
Спасибо