我正在尝试通过字符串获取元组的值,但是当我这样做时会收到错误
incompatible types: java.lang.Object cannot be converted to java.lang.String
这就是我的尝试方式。
` public void execute(Tuple tuple) {
String field = tuple.getValueByField("name");
for(String user:field.split(","))}`
我通过投射字符串
尝试了这样的方法String field = (String) tuple.getValueByField("name");
这是通过字段名称获取元组值的正确方法吗?
答案 0 :(得分:2)
使用
tuple.getStringByField("name");
getStringByField
用于根据列名检索值。
答案 1 :(得分:1)
尝试使用getStringByField代替
如果你想使用getValueByField,那么你需要检查 if(obj instanceof String) 然后施展它
答案 2 :(得分:1)
是的,如果返回类型是字符串,那是正确的。
String field = (String) tuple.getValueByField("name");
参见示例以供参考
答案 3 :(得分:-1)
试试这个......
String field = String.valueOf(tuple.getValueByField("name"));
而不是
String field = (String) tuple.getValueByField("name");