rtnValue = swiJcb.isSelected()?"1":"0" + ","
+CommboBoxUtil.getCommboValue("eventType", String.valueOf(ustageJcb.getSelectedItem()))+","
+ alarmJtf.getText() +","
+ normalJtf.getText() + ","
+dcleanJcb.isSelected()?"1":"0";Type mismatch: cannot convert from String to boolean
后来改了一下 String s= dcleanJcb.isSelected()?"1":"0";
rtnValue = swiJcb.isSelected()?"1":"0" + ","
+CommboBoxUtil.getCommboValue("eventType", String.valueOf(ustageJcb.getSelectedItem()))+","
+ alarmJtf.getText() +","
+ normalJtf.getText() + ","
+s;
行了
请大伙说说是怎么一回事呢
和优先级有关吗?为什么是String to boolean。
为什么是cannot convert from String to boolean
rtnValue = swiJcb.isSelected()?"1":"0" + ","
+CommboBoxUtil.getCommboValue("eventType", String.valueOf(ustageJcb.getSelectedItem()))+","
+ alarmJtf.getText() +","
+ normalJtf.getText() + ","
+(dcleanJcb.isSelected()?"1":"0");试试
这里加个括号应该可以,改为:+(dcleanJcb.isSelected()?"1":"0");
1.[]()方法调用
2.!,~,++,-- +(一元),-(一元) ,()(强制转换),new
3.* / %
4.+ -
5.<< >> >>>
6.< <= > >= instanceof
7.== !=
8.&
9^
10.|
11.&&
12.||
13.?:
14.= += -+ *= /= %= &= |= ^= <<= >>= >>>=
累!
你第一次这样写的
rtnValue = swiJcb.isSelected()?"1":"0" + ","
+CommboBoxUtil.getCommboValue("eventType", String.valueOf(ustageJcb.getSelectedItem()))+","
+ alarmJtf.getText() +","
+ normalJtf.getText() + ","
+dcleanJcb.isSelected()?"1":"0";
由于+号的运算级药高于?:,所以编译的时候先将红色部分当做bool表达式进行处理,而他是个String类型,‘?’号前要求是boolean型的,所以提示cannot convert from String to boolean
给你一个经典的例子
int i = 5;
int a;
a = (i++)+(i++)+(i++);
System.out.println("i = " + i );
System.out.println("a = " + a );
平时都是靠感觉,真到较真的时候还是的看书啊