如何在数组中存储多种数据类型?

2023-11-25

我正在寻找类似数组的东西,但它需要存储多种数据类型。 Oracle Java 教程说:“数组是一个容器对象,它保存固定数量的单一类型的值。”那么,如果我不能将一个数组用于多种类型,我该使用什么?

我的这段代码一次只向地图添加一个标记,因为它会在每个循环中写入我的纬度和经度值,并且只将最后一个标记传递给 onPostExecute。所以我需要像数组这样的东西来传递多种形式的联系信息。即,我从每个 JSON 字符串中提取位置,但我还需要从该后台线程中提取姓名和电话号码并将其传递到 UI。

try {

    String apples = endpoint.listContactInfo().execute().toString();

    JSONObject jObject = new JSONObject(apples);

    JSONArray jsonArr = jObject.getJSONArray("items");

     for(int i =0 ; i<jsonArr.length() ;i++ ){
         JSONObject jsonObj1 = jsonArr.getJSONObject(i);


                    // Storing each json item in variable
                    String id = jsonObj1.getString(TAG_ID);
                    String nameFirst1 = jsonObj1.getString(TAG_FIRSTNAME);
                    String nameLast1 = jsonObj1.getString(TAG_LASTNAME);
                    String emailAddress1 = jsonObj1.getString(TAG_EMAIL);
                    String streetAddress1 = jsonObj1.getString(TAG_ADDRESS);
                    String phone1 = jsonObj1.getString(TAG_PHONE);

                    //test to see if made it to string
                    Log.d("YOUR_TAG", "First Name: " + nameFirst1 + " Last Name: " + nameLast1);

                       address = coder.getFromLocationName(streetAddress1,5);

                        Address location1 = address.get(0);

                        // SET LAT LNG VALUES FOR MARKER POINT

                     lati = location1.getLatitude();
                         longi = location1.getLongitude();



                         Log.d("Location", "Location:" + lati + " " +  longi);


     }

    } catch (IOException e) {
    e.printStackTrace();
  } catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
      return (long) 0;


    }
         // ADD MARKER TO MAP UI
    protected void onPostExecute(Long result) {
        mMap.addMarker(new MarkerOptions()
        .position(new LatLng(lati, longi))
         .title("Hello world"));
    }  

您可以使用ArrayList.

ArrayList<Object> listOfObjects = new ArrayList<Object>();

然后向其中添加项目。

listOfObjects.add("1");
listOfObjects.add(someObject);

或者创建您自己的对象来封装您需要的所有字段,例如

public class LocationData {
   private double lat;
   private double longitude;

   public LocationData(double lat, double longitude) {
       this.lat = lat;
       this.longitude = longitude;
   }
   //getters
   //setters
}

然后将您的纬度/经度对添加到ArrayList类型的LocationData

ArrayList<LocationData> listOfObjects = new ArrayList<LocationData>();

listOfObjects.add(new LocationData(lat, longitude));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在数组中存储多种数据类型? 的相关文章

  • 在 Jetpack Compose 文本的最后一个单词处添加图标

    我想在最后一行的末尾显示动态的多行文本和图标 该图标可以是动画的 我尝试了一些方法但还没有成功 我应该怎么做 示例视图与我的布局有相同的想法 In the Text可组合的 你可以使用inlineContent https develope
  • 在 java GUI 中更新 JTree

    我在 GUI 中使用了 JTree 并将其添加到 JFrame 中 当我想更新它并更改程序另一部分中的节点时 当程序运行时 作为执行的操作 我尝试添加新节点或删除节点 但我的界面没有改变 请给我建议一个解决方案 regards 除了 ins
  • Android - Google 地图触摸和拖动标记

    如何在地图活动上移动标记 而无需长按并按住该标记直到它获得焦点 我只想触摸和拖动 但它需要大约 1 2 秒才能接收焦点并触发拖动事件 这是我的代码 mMap googleMap mMap setMapType GoogleMap MAP T
  • 使用 MVP 模式

    我有一个用 MVC 模式制作的 Web 应用程序 但是我正在尝试适应 MVP 模式 我正在使用 GWTPlatform 库 我已经将其中的一些代码迁移到了Presenter和View 然而 我还没有看到任何全面的材料来解释如何实际处理Mod
  • 使用 RxJava 和播放服务愿景时出现致命信号 11 (SIGSEGV)

    在我的应用程序中 我使用图片中人物位置的定义 之后 我使用 RxJava 处理生成的图像并输出结果 完成后重新运行该过程 所有这些都可以在三星 华为 魅族等设备上完美运行 Android 5 0 及更高版本 但在小米 无论什么版本的andr
  • 为什么Environment.getExternalStoragePublicDirectory在某些设备(自2011年初专门制造)中不起作用?

    我试图将从相机捕获的图像存储到公共存储目录 这是我用于存储图像的代码部分 protected File createImageFile throws IOException Create an image file name String
  • 如何克隆/复制现有的 Android AVD?

    我需要克隆 复制现有的 Android 虚拟设备 是否可以 很简单 在 AVD Manager 中编辑要克隆的 AVD 更改名称 创建 AVD 中的 编辑 AVD 按钮就会神奇地改变
  • Java:有没有更简单的方法从字符串中解析数组元素?

    在应用程序中有一个以下格式的字符串 String elements 11 john 23 Adam 88 Angie 表示字符串中有更多元素 根据给定的字符串 我必须为名称 ID 11 23 88 创建一个 ArrayList 为名称 jo
  • 根据已知的纬度和经度点在图像上放置点的尝试失败

    我为这个含糊的标题道歉 我真的想不出更好的方法来总结它 非常欢迎提出建议 我正在开发一个实际上不需要谷歌地图的项目 它只会为这个项目带来额外的开销 但是 到目前为止 我不知道如何在没有谷歌地图的情况下做到这一点 如果我要将平面图的图形叠加层
  • 使用 jni 从 C 调用 java 函数

    我正在编写一个简单的程序来从我的 C 程序调用 Java 函数 以下是我的代码 include
  • Android 将 DatePicker 设置为某个日期

    我有 3 个包含日 月和年值的字符串 例如 String mday 02 String mmonth 07 String myear 2013 我需要将活动中的 DatePicker 设置为从上述日期算起的一个月 我的意思并不是只在月值上加
  • 不支持的主要.次要版本 49.0

    每当我登录我的应用程序时 我都会收到以下异常 javax servlet ServletException com sun org apache xalan internal xsltc trax TransformerFactoryImp
  • Android底部导航栏定制

    我已经成功实现了简单的底部栏 它看起来像图 1 但我想进一步自定义它 这样它就可以看起来像 Youtube 的 Android 应用程序中的底部栏 当您单击其中一个项目时 它会传播阴影效果 我当前的底部栏 YouTube 的底部栏 我还想将
  • Java - 强制执行已实现的方法

    我有三门课 但我有问题 它们被命名为 GameScene StageScene StageOne 我的问题是我想在 StageScene 中实现初始化 但仍然强制 StageOne 实现它 这样每当有人使用 StageOne 对象 stag
  • Android 6:无法再共享文件?

    我正在分享一个图像 并且此代码适用于 Android 6 之前的设备 Intent shareIntent new Intent Intent ACTION SEND shareIntent setType image Uri uri Ur
  • 如何映射“根”Servlet 以便其他脚本仍然可以运行?

    我正在尝试构建一个调用 JSP 页面的 Servlet 类似于以下内容 public void doGet HttpServletRequest req HttpServletResponse resp throws IOException
  • 如何在 Java 中使用 JsonPath 从 JSON 获取值?

    我想使用 JsonPath 从 JSON 对象中获取值 任何人都可以建议我我需要的适当的 jar 因为据我所知 我在用于 jsonpath 的 jar 中遇到了此异常 package jsonPg import java io IOExce
  • 让 Jsoup 支持通过 JavaScript 动态生成 html

    现在我正在开发一个网络爬虫 这个应该解析一些特定的站点并将输出输出到 xml 文件中 到目前为止 没有问题 Crawler 可以工作 您可以通过 cfg 文件快速自定义它 我使用 Jsoup 来解析 HTML 内容 我刚刚添加了几个站点 发
  • Morphia - 未在 dbObj 中找到定义的类

    我有一个相当有趣的问题 当尝试从 Mongo 实例加载模型时 Morphia 会抛出以下错误 22 17 13 WARN Class not found defined in dbObj java lang ClassNotFoundExc
  • 从父类返回子类

    我有一个构建器类 它从大多数方法返回自身以允许菊花链 为了使此功能适用于子类 我希望父方法返回子类的实例 以便子方法可以链接到末尾 public class BaseBuilder

随机推荐