अगर मैं इस वर्ग का उपयोग करें:मुझे एक अपरिवर्तनीय प्रकार त्रुटि क्यों मिल रही है?
public class BooleanTest {
public static void main(String args[]) {
final Object[] objarray = new Object[2];
try {
objarray[0] = "Hello World!";
objarray[1] = false;
} catch (NullPointerException e) {
}
boolean bool = (boolean) objarray[1];
}
}
यह ठीक काम करता है और मुझे लगता है कि boolean
कोई समस्या नहीं प्रदान कर सकते हैं। पासवर्ड के लिए मेरे उपयोगकर्ता से पूछते समय मैं वही काम क्यों नहीं कर सकता?
final Object result[] = new Object[2];
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
@Override
public void run() {
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(3,0));
JLabel label = new JLabel();
label.setHorizontalAlignment(SwingConstants.LEADING);
JTextField input = new JTextField();
input.setHorizontalAlignment(SwingConstants.CENTER);
JCheckBox checkbox = new JCheckBox("Pair with this device");
checkbox.setHorizontalAlignment(SwingConstants.LEADING);
panel.add(label);
panel.add(input);
panel.add(checkbox);
if (wrong) {
label.setText("Wrong password. Please enter the password from the other device:");
} else {
label.setText("Please enter the password from the other device:");
}
int response = JOptionPane.showConfirmDialog(SendGUI.this, panel, "Enter password", JOptionPane.OK_CANCEL_OPTION);
if (response == JOptionPane.OK_OPTION) {
result[0] = input.getText();
result[1] = (boolean)checkbox.isSelected();
} else {
result[0] = null;
result[1] = false;
}
}
});
} catch (InterruptedException e) {
} catch (InvocationTargetException e) {
}
boolean pair = (boolean)result[1]; //inconvertible type, expected boolean found Object
जहां तक मुझे लगता है मैं दोनों ही मामलों में ही बात कर रहा हूँ, लेकिन, जबकि दूसरा उदाहरण नहीं है पहला उदाहरण ठीक संकलित देख सकते हैं। Boolean द्वारा बूलियन बदलने के लिए
क्या आप अंतिम कोड में प्राप्त त्रुटि पोस्ट कर सकते हैं? –
@MiguelPrz यह मेरे कोड में था, 'अपरिवर्तनीय प्रकार, अपेक्षित बूलियन ऑब्जेक्ट' – Logan
@LoganDam: क्या यह संकलन-समय त्रुटि है? क्या आप दोनों मामलों में एक ही कंपाइलर (एक ही विकल्प के साथ) का उपयोग कर रहे हैं? –