我有一个关于显示的问题,我想看看我的变量CodeA中的每个项目,类型为String,它位于JComboBox中。变量CodeA表示表Album中的每个标识。
在我的DaoAlbumMySql中,我有错误信息..
二元运算符的错误操作数类型'!='第一种类型:字符串第二种类型:int
问题在于NetBeans if (idCat != 0)
public ArrayList <Album> selectAlbums (String idCat)
{
ArrayList <Album> myList = new ArrayList();
String req;
if (idCat != 0)
{
req = "Select CodeA, TitreA, A.IdentC, DenomCat, " +
" DateArrivee from album A, " +
"chanteur C where A.IdentC = C.IdentC" +
" and CodeA = " + idCat + " order by 1";
}
答案 0 :(得分:0)
这里有两个问题:
1)您正在尝试将字符串与int
(0
)进行比较。您需要在其周围加上引号,以便进行String
到String
比较。
2)您正在与!=
进行比较。比较字符串是不正确的。在比较.equals()
Strings
方法进行比较
(正如您正在检查(使用!=
)参考比较(地址比较).equals()
方法检查内容比较。)
答案 1 :(得分:0)
不确定你真正想做什么。目前,您将String与整数进行比较。
如果idCat不应 null ,那么你必须
if (idCat != null)
如果不能 null ,空
if ((idCat != null) && (!idCat.isEmpty())
或者如果它不应该包含值&#34; 0&#34;
if (!"0".equals(idCat))
答案 2 :(得分:0)
两条评论:
1)您无法在Java中将String与int进行比较。我想你试图检测一个空值?根据您使用的Java版本,您可以使用java.lang.Optional替代其他人提供的答案
2)尽可能使用接口而不是实现类...在这里,你可以将很多ArrayList替换为List。
此致