我是JS的新手。我已经编写了两个大型Java类,我希望使用JSweet将它们转换为JS。第一个较小的版本没有问题。在第二个问题上,我遇到了困难。它抛出这个错误两次,并且没有其他错误:
Line 55: property 'matches' does not exist on type 'string'. Did you mean 'match'?我的类中的55行代码如下:
private String name;name位于类级别,稍后由对象构造函数给出一个值,我的意思是,除了类之外,它不包含在其他括号中。(它恰好是第55行,因为我之前添加了一些骨架类,并将其添加到正在转换以定义依赖项的类之前)
我的一个理论是下面这行代码导致了问题:
if(pointer.content.equals(sub_table.get_name()))所以我把它改成这样:
if(pointer.content.compareTo(sub_table.get_name())==0)这个想法是,这是两种不同的比较字符串的方法,而在JS中,匹配和匹配也是不同的比较数据的方法,也许我试图转换一个JS不喜欢的方法。但是,错误并没有改变。有什么线索吗?
发布于 2021-06-07 02:17:35
问题出在第350行:
if((words[i - 2].matches("\\d*") && words[i-1].equals("+")) && words[i].matches("\\d*"))我将其更改为:
if((isNumeric(words[i - 2]) && words[i-1].equals("+")) && isNumeric(words[i]))我添加了isNumeric作为一种方法:
public static boolean isNumeric(String strNum) {
if (strNum == null) {
return false;
}
try {
int i = Integer.parseInt(strNum);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}仍然不理解为什么错误会显示在第55行。Matches在java中的工作方式与预期一致,所以js或jsweet就是不喜欢这样使用它。
https://stackoverflow.com/questions/67841266
复制相似问题