如何从SoapObject中删除属性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从SoapObject中删除属性?相关的知识,希望对你有一定的参考价值。

我收到一个SoapObject,其中包含2个具有相同名称的属性。我想从Object中删除其中一个,我不知道如何实现它。

目的是,我实际上想要读取两个属性:soapObject.getProperty(“PropertyName”);

我已成功尝试使用for循环:for(int i = 0; i <soapObject.getPropertyCount(); i ++)soapObject.getProperty(atIndex);

但是,它不符合我的目的。我需要按名称检索它们。那么,我怎样才能找回它们?

我尝试两次调用该方法,但它返回两次相同的值。

答案

你有没有尝试过for each循环?它允许您访问密钥,从而访问值。在这里,您可以找到一个可以从中开始的示例:

for (K key : map.keySet()) 
    System.out.println(key + "=" + map.get(key));

另一答案

如果我已正确理解问题陈述,您可以通过以下方法之一删除重复的soap对象(但首先将其添加到arraylist中)

  1. 使用迭代器
  2. 使用LinkedHashSet。更好的方式(两个时间 复杂性和易于实现明智)是从ArrayList中删除重复项是将其转换为不允许重复的Set
  3. 使用Java 8 Stream.distinct()您可以使用Stream API中的distinct()方法

以上是关于如何从SoapObject中删除属性?的主要内容,如果未能解决你的问题,请参考以下文章

使用某些 Object 属性从 ArrayList 中删除对象

如何从 React 组件的状态对象中删除属性

如何将本地 xml 文件转换为 org.ksoap2.serialization.SoapObject?

java访问ldap服务,如何删除objectclass属性值

如何从 discord.js 中删除 [object Promise]?

从数组中删除重复的对象