以下是中的示例
- Matlab R2018a,Windows 8 64位
MATLAB_JAVA
环境变量:如果未使用,或者设置为几分钟前刚下载的C:Program FilesJavajre1.8.0_251
- CCD_ 3:CCD_
computer('arch')
:win64
我尝试运行这个Java 8java.time
类调用,发现一个错误:
>> localdate=java.time.LocalDate.parse('2020-04-19')
No method 'parse' with matching signature found for class 'java.time.LocalDate'.
像这样的简单调用,有效:
>> java.time.LocalDate.now
2020-04-19 [1x1 LocalDate]
我做错了什么?
java.time.LocalDate.parse
方法的签名被定义为采用CharSequence
,而不是String
。
public static LocalDate parse(CharSequence text)
Matlab将自动将Matlab的char
和string
阵列转换为java.lang.String
,而不是CharSequence
。因此,您必须通过自己调用字符串上的java.lang.String(...)
来提供显式转换:
>> localdate=java.time.LocalDate.parse('2020-04-19')
No method 'parse' with matching signature found for class 'java.time.LocalDate'.
>> localdate=java.time.LocalDate.parse(java.lang.String('2020-04-19'))
localdate =
2020-04-19
>>