标签: arraylist

从Java中的WebService返回ArrayList

我在从Web服务(Java)返回ArrayList时遇到问题.

我编写了一个测试Web服务和客户端来使用它.所有似乎都工作正常 - 即客户端正在调用服务器,服务器接收操作请求.

但是,我编写了一个简单的方法,我希望它返回一个ArrayList.

我的接口定义如下:

@WebService
@SOAPBinding(style = Style.RPC)
public interface ISQLServerConnectionWS {

    @WebMethod
    ArrayList getSimpleArrayList();
}
Run Code Online (Sandbox Code Playgroud)

我有我的服务器端实现来返回ArrayList:

@WebService(endpointInterface="WebServices.ISQLServerConnectionWS")
public class SQLConnectionWSServer
    implements ISQLServerConnectionWS {

    @Override
    public ArrayList getSimpleArrayList() {
        ArrayList al = new ArrayList();
        al.add( "This" );
        al.add( "is" );
        al.add( "a" );
        al.add( "test" );
        return al;
    }
}
Run Code Online (Sandbox Code Playgroud)

最后我的客户打电话给它:

ArrayList results = server.getSimpleArrayList();
Run Code Online (Sandbox Code Playgroud)

服务器正好填充数组列表.但是,回到客户端,ArrayList为空.它的大小为0.

如果我在我的URL(http://127.0.0.1:9876/myservice-sql?wsdl)上检查executeSelectSQL 的WSDL ,它看起来像:

<message name="executeSelectSQLResponse">
    <part name="return" type="tns:arrayList"/>
</message>
Run Code Online (Sandbox Code Playgroud)

我错过了一些明显的东西吗

编辑:

但是,如果我在界面中定义了一个web方法:

@WebMethod
String getAString();
Run Code Online (Sandbox Code Playgroud)

和服务器实现:

@Override
public String getAString() …
Run Code Online (Sandbox Code Playgroud)

java service arraylist

10
推荐指数
1
解决办法
3万
查看次数

如何最有效地测试两个数组是否包含C#中的等效项

我有两个数组,我想知道它们是否包含相同的项目. Equals(object obj)不起作用,因为数组是引用类型.我在下面发布了我的尝试,但是因为我确定这是一项常见任务,我想知道是否有更好的测试.

    public bool ContainsEquivalentSequence<T>(T[] array1, T[] array2)
    {
        bool a1IsNullOrEmpty = ReferenceEquals(array1, null) || array1.Length == 0;
        bool a2IsNullOrEmpty = ReferenceEquals(array2, null) || array2.Length == 0;
        if (a1IsNullOrEmpty) return a2IsNullOrEmpty;
        if (a2IsNullOrEmpty || array1.Length != array2.Length) return false;
        for (int i = 0; i < array1.Length; i++)
            if (!Equals(array1[i], array2[i]))
                return false;
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

更新 - System.Linq.Enumerable.SequenceEqual并不是更好

我反映了源,并没有比较执行循环之前的长度.这是有道理的,因为该方法通常是IEnumerable<T>为a而不是为a 而设计的T[].

    public static bool SequenceEqual<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer)
    { …
Run Code Online (Sandbox Code Playgroud)

c# arrays comparison performance arraylist

10
推荐指数
1
解决办法
3968
查看次数

填充ArrayList的最短方法

填充ArrayList的最短方法是什么?就像是:

ArrayList<Integer[]> list = new ArrayList<Integer[]>();
list.add({1,10,1,1});
list.add({2,11,1,1});
Run Code Online (Sandbox Code Playgroud)

要么:

ArrayList<Integer[]> list = ({1,10,1,1},{2,11,1,1});
Run Code Online (Sandbox Code Playgroud)

java arraylist

10
推荐指数
3
解决办法
6万
查看次数

Java - 如何子类化通用ArrayList,以便MyArrayList <foo>的实例将成为ArrayList <foo>的子类?

我想保持我的子类通用,我想要改变的是add(Object)ArrayList 的方法,这样当你调用时它不会添加任何东西arrayList.add(null)(ArrayList的正常实现将添加null;我希望它什么都不做).

java generics arraylist

10
推荐指数
2
解决办法
4929
查看次数

我如何从同一方法返回2 ArrayList

我有一个方法如下,这个方法包含两个arraylist("eventList"和"emailList").

List<EmailUID> emailid=SharedEvent.getEmailUid(filter, uri, exchWD, EmailShare);

public static List<EmailUID> getEmailUid(Filter filter, String uri, NexWebDav exchWD,
            List<String> emailShare)
List eventsToday = null;
List<EmailUID> arrayList = new ArrayList<EmailUID>();
List<EmailUID> emailList = new ArrayList<EmailUID>();
List<EmailUID> eventList = new ArrayList<EmailUID>();

        for (String email : emailShare) {
            String uris = uri + email + "/events/";
            InputStream stream = null;
            try {
                stream = exchWD.get(uris);
                BufferedReader br = new BufferedReader(new InputStreamReader(stream));
                CalendarBuilder builder = new CalendarBuilder();
                net.fortuna.ical4j.model.Calendar calendar = builder.build(br);

                //eventsToday.add(email);

                eventsToday = (List<?>) filter.filter(calendar.getComponents(Component.VEVENT));
                arrayList=getEmailUID(eventsToday,email); …
Run Code Online (Sandbox Code Playgroud)

java arraylist

10
推荐指数
3
解决办法
3万
查看次数

如何在Java中覆盖ArrayList的toString方法?

我想在Java中为ArrayList创建自己的toString()方法.但是,即使我将这样的toString()添加到包含ArrayList的类中,我也无法使其工作.

@Override
public String toString() {
    String result = "+";
    for (int i = 0; i < list.size(); i++) {
        result += " " + list.get(i);
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

当我像这样调用我的ArrayList时list.toString(),我仍然得到默认表示.我错过了什么吗?

java overriding arraylist tostring

10
推荐指数
4
解决办法
3万
查看次数

如何将ArrayList <String>添加到JSON数组 - 记住类型安全

Eclipse显示了一个类型安全警告,我尝试了几乎所有东西来消除它(当然压制它将是一个选项)但不幸的是我没有任何成功.
你知道我如何更改我的代码,以便不再有类型安全警告.或者是@SuppressWarnings("unchecked")唯一的方法?

ArrayList<String> arrayList= (ArrayList<String>) Classname.getArrayList();      
JSONArray obj = new JSONArray();
obj.addAll(arrayList); 
Run Code Online (Sandbox Code Playgroud)

在显示类型安全警告的最后一行:

类型安全:方法addAll(Collection)属于原始类型ArrayList.应该参数化对泛型类型ArrayList的引用

JSONArray来自org.json.simple.JSONArray.你会推荐另一个套餐吗?

java json arraylist type-safety

10
推荐指数
1
解决办法
2万
查看次数

android - java - 带有ArrayList的WeakReferences?

我知道WeakReference,如果我做了WeakReference一些东西,除非直接引用它,它将是下一个GC循环收集的垃圾.我的问题是,如果我做出ArrayList的WeakReferenceS'

例如:

ArrayList<WeakReference<String>> exArrayList;
exArrayList = new ArrayList<WeakReference<String>>();
exArrayList.add(new WeakReference<String>("Hello"));
Run Code Online (Sandbox Code Playgroud)

我现在可以访问数据了exArrayList.get(0).get().

我的问题变成了:这是WeakReference数据,exArrayList.get(0)下一个GC循环中的数据是否会被GC进行?(即使我没有另外直接引用它)或者这个特定的参考是否会一直存在直到arraylist被清空?(例如:) exArrayList.clear();.

如果这是重复,我没有在谷歌中找到我的关键字.

java android garbage-collection weak-references arraylist

10
推荐指数
2
解决办法
1万
查看次数

在ArrayList()中找到最常见的String

有没有办法找到最常见String的ArrayList?

ArrayList<String> list = new ArrayList<>();
list.add("test");
list.add("test");
list.add("hello");
list.add("test");
Run Code Online (Sandbox Code Playgroud)

应该从这个列表中找到"test"这个词 ["test","test","hello","test"]

java arrays list arraylist

10
推荐指数
4
解决办法
3万
查看次数

对于ArrayList构造函数,JDK API文档不正确.那是一个错误吗?

ArrayList构造函数的 JDK doc 表示初始容量为10.

这实际上是错误的,因为初始容量为0,直到将某些内容添加到列表中.我检查了Open JDK的源代码以及JDK附带的src.zip.

我知道这是性能优化,但这会被视为错误吗?

java documentation arraylist

10
推荐指数
1
解决办法
219
查看次数