Доброго дня и доброй Жявы!
Несмотря на мудрость Учителя "только не спрашивайте, почему что-то РАБОТАЕТ", рискну:
Фрагмент программы:
private static xxx makeEmptyElement(String eType, AGroupElement parent) {
System.err.println("" + (eType==C.TYPE));
}
C.TYPE описано как public final static String TYPE = "t";
eType читается из XML-файла: String eType = e.getTagName();
и некорректное сравнение строк дает true! Почему?
И торможу с фрагментом 2:
public IPropertyDescriptor[] getPropertyDescriptors() {
return (IPropertyDescriptor[]) descriptors.toArray(new IPropertyDescriptor[descriptors.size()]) ;
} работает. А почему нельзя проще (варианты):
return (IPropertyDescriptor[]) descriptors.toArray();
return (IPropertyDescriptor[]) descriptors.toArray(new IPropertyDescriptor[]);
return (IPropertyDescriptor[]) descriptors.toArray(new IPropertyDescriptor[0]);
return descriptors.toArray(new IPropertyDescriptor[descriptors.size()]) ;
?
Спасибо, если кому не лень!
Несмотря на мудрость Учителя "только не спрашивайте, почему что-то РАБОТАЕТ", рискну:
Фрагмент программы:
private static xxx makeEmptyElement(String eType, AGroupElement parent) {
System.err.println("" + (eType==C.TYPE));
}
C.TYPE описано как public final static String TYPE = "t";
eType читается из XML-файла: String eType = e.getTagName();
и некорректное сравнение строк дает true! Почему?
И торможу с фрагментом 2:
public IPropertyDescriptor[] getPropertyDescriptors() {
return (IPropertyDescriptor[]) descriptors.toArray(new IPropertyDescriptor[descriptors.size()])
} работает. А почему нельзя проще (варианты):
return (IPropertyDescriptor[]) descriptors.toArray();
return (IPropertyDescriptor[]) descriptors.toArray(new IPropertyDescriptor[]);
return (IPropertyDescriptor[]) descriptors.toArray(new IPropertyDescriptor[0]);
return descriptors.toArray(new IPropertyDescriptor[descriptors.size()])
?
Спасибо, если кому не лень!
