Vote count:
0
Following Java code is not working in Android as expected whether it is compiled with JDK 1.6 or 1.7. When the "if statement" is evaluated true, "found is assigned to variable mState, however the next statement "return ext;" is not being executed. Instead it executed the last statement "return null;". Also mState variable seems to have being destroyed prior to execute "return null;" statement.
String mState = null;
for (PacketExtension ext : packetExtensions) {
if (elementName.equals(ext.getElementName()) && namespace.equals(ext.getNamespace()))
{
mState = "found";
return ext;
}
}
return null;
I have also try to recode as below, but also face with the same problem as before.
PacketExtension ext = null;
for (Iterator<PacketExtension> iterator = packetExtensions.iterator(); iterator.hasNext(); ) {
ext = iterator.next();
if (elementName.equals(ext.getElementName()) && namespace.equals(ext.getNamespace())
{
return ext;
}
]
return null;
The below modified code is not working either. Even if I tried to assign ext to new local variable ext2 when "if statement" is true; and change "return null;" to "return ext2;", ext2 is also get destroyed before its "return ext2" and new approach is also not working. Appreciate some expert advice.
PacketExtension ext = null;
PacketExtension ext2 = null;
for (Iterator<PacketExtension> iterator = packetExtensions.iterator(); iterator.hasNext(); ) {
ext = iterator.next();
if (elementName.equals(ext.getElementName()) && namespace.equals(ext.getNamespace())
{
ext2 = ext;
break;
}
]
return ext2;
Aucun commentaire:
Enregistrer un commentaire