matlab是另一个java。lang.ClassCastException
我在将变量(见下文)转换为字符串以便在GUI中显示时遇到问题。一些背景信息:我创建了一个Java GUI,它将运行一些Matlab代码(使用MatlabProxy),作为过程的一部分,我试图用一些关于特定数据文件(用户选择的)的有用信息(从Matlab传递回GUI)更新GUI。MatlabProxy“getMVVariable()”函数返回类型为“double”的对象(在我的例子中);然而,当我尝试使用
String text = (String) getMVariable("testInfo.freqMax");
我得到了ClassCastException:“[D不能转换为java.lang.String。”我还尝试将其转换为字符串数组(String[]),但没有成功。我读过一些关于使用数组的帖子。关于数组列表的copyOf或其他内容,但无法理解它
# 1 楼答案
用这段代码替换这一行可能会澄清发生了什么:
如果你不熟悉这里的“for”结构,只需问:)
# 2 楼答案
[D
意味着它是一个double[]
。见^{在那之后,由你决定如何处理它
# 3 楼答案
如果你确定
返回Double,那么为什么不返回user呢
# 4 楼答案
如果类型是
[D
,那么您有一个double[]
而不是double
或Object[]
你需要这样的东西