gpt4 book ai didi

java - 将对象转换为数组 [Java]?

转载 作者:太空宇宙 更新时间:2023-11-04 11:39:49 25 4
gpt4 key购买 nike

我有一个对象(Object o),当我调用o.toString()时,它会打印:

{data-ved=0EMIuCBcoAA, data-pid=23, href=https://mail.google.com/mail/?tab=wm, class=gb_P}

正如您所看到的,该对象中似乎有一个字符串数组。有没有办法直接将对象转换为String[]?

预期结果将是一个包含如下内容的 String[]:

data-ved=0EMIuCBcoAA
data-pid=23
href=https://mail.google.com/mail/?tab=wm
class=gb_P

目前,我正在使用 Regex 提取我需要的字符串部分(作为数组)。

有更好的方法吗?

如果重要的话,该对象是从 Selenium 中的 JavaScript Executor 返回的。

最佳答案

从评论跟踪中可以看出,返回的对象似乎是 Map (可能是 Map<String, Object>Map<String, String> )。因此,您可以执行以下操作:

if( o instanceof Map ) {
Map map = (Map)o; //If you know the generic type you could use Map<String, Object> etc. instead
String dataVed = (String)map.get("data-ved");
...
}

正如您所看到的,由于没有为映射提供通用类型,因此还需要转换值,因此您所知道的是键和值是任何类的对象。

如果您知道应该使用什么泛型类型,您可以改进它,特别是如果值类型是 String 。不幸的是,由于类型删除,您无法在运行时获取该类型,因此了解预期内容的唯一方法是一些文档。

关于java - 将对象转换为数组 [Java]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42933908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com