Java 康斯坦特克拉特è;非有效

Java 康斯坦特克拉特è;非有效,java,talend,Java,Talend,我正在尝试这样做: ope_tFilterRow_4.matches((row7.Subscription == null? false : row7.Subscription.compareTo('01-01-2014') > 0) , "Subscription.compareTo('01-01-2014') > 0 failed"); 它说: constante caractère无效错误(=无效字符常量) 在我的表中,

我正在尝试这样做:

 ope_tFilterRow_4.matches((row7.Subscription == null? false :
    row7.Subscription.compareTo('01-01-2014') > 0)
                       , "Subscription.compareTo('01-01-2014') > 0 failed");
它说:

constante caractère无效错误(=无效字符常量)

在我的表中,我有相同的日期格式,我也试图解析它,但得到了相同的错误。

Replace

row7.Subscription.compareTo('01-01-2014')

编辑:

我想
row7.Subscription
是一个日期。以下是如何将日期与Talend进行比较:

TalendDate.parseDate("dd-MM-yyyy","01-01-2014").compareTo(row7.Subscription)

我有donne it,它让我无法将日期与字符串进行比较,同样没有“或”“无法将日期类型与intI进行比较。我编辑了答案,以显示如何将字符串转换为Talend中的日期。因为你似乎是法国人,这里有一个链接用法语解释:我相信你是对的。主要问题似乎是Java字符串总是需要用双引号括起来,并且需要与兼容的数据类型进行比较。
TalendDate.parseDate("dd-MM-yyyy","01-01-2014").compareTo(row7.Subscription)