相关疑难解决方法(0)

为什么java.util.ArrayList中不允许原始数据类型?

可能重复:
在Java集合中存储原始值?

ArrayList仅接受引用类型作为其元素,而不接受原始数据类型.尝试这样做时会产生编译时错误.

这背后的概念是什么?这似乎是一种限制,不是吗?

java arraylist

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

为什么我不能初始化Map <int,String>?

我想存储一组int/ String值,但ints不一定是增量的,这意味着数据可以是:

<1, "first">, <3, "second">, <9, "third">. 
Run Code Online (Sandbox Code Playgroud)

所以我正在尝试创建一个等效的c#,Dictionary<int, string>但它只是无法编译,说"令牌上的语法错误"int",此符号后面的维度"在线上:

private Map<int, String> courses;
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么会这样?和一个很好的选择,为创建一个对象作为占位符intString,然后用一个数组来存储它们?

java generics map

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

Java中的"模糊类型"错误是什么?

在下面的代码中,我从最后一行的编译器得到一个错误:"类型列表是不明确的"(在尝试定义cgxHist列表的行上).我究竟做错了什么?

import java.awt.*;
import javax.swing.*;
import java.util.*;

public class drawr extends JPanel{

    public static int animationSpeed=470;
    public static int diameter = 50;
    hBod allHBods[];
    List<String> cgxHist = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

我实际上希望列表包含整数,但是当我尝试"强制转换"列表时,通过替换<String><int>,该行上的错误变为"令牌上的语法错误"int",此符号后面的维度'.建议请.

java list ambiguous

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

为什么Collectors.toList()不能处理原始集合?

(这可能与/sf/answers/2121852421/有关,但我恐怕还是没有得到它.所以我这样问我的问题,希望它能够得出一个我可以更容易理解的答案.)

通常,当我有一个Stream时,我可以使用Collectors类中的一个静态方法将其转换为集合:

List<String> strings = Stream.of("this", "is", "a", "list", "of", "strings")
    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

然而,类似的过程不适用于原始流,正如其他人注意到的那样:

IntStream.of(3, 1, 4, 1, 5, 9)
    .collect(Collectors.toList());  // doesn't compile
Run Code Online (Sandbox Code Playgroud)

我可以这样做:

IntStream.of(3, 1, 4, 1, 5, 9)
    .boxed()
    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

或者我可以这样做:

IntStream.of(3, 1, 4, 1, 5, 9)
    .collect(ArrayList<Integer>::new, ArrayList::add, ArrayList::addAll);
Run Code Online (Sandbox Code Playgroud)

问题是,为什么Collectors.toList()只为原始流做这个?难道没有办法指定包装类型吗?如果是这样,为什么这不起作用:

IntStream.of(3, 1, 4, 1, 5, 9)
    .collect(Collectors.toCollection(ArrayList<Integer>::new)); // nope
Run Code Online (Sandbox Code Playgroud)

任何见解将不胜感激.

java java-8 collectors

7
推荐指数
1
解决办法
1503
查看次数

使用swig生成std :: vector到java.util.Vector代码

我尝试用SWIG生成java代码

MyList.h中,我声明了一个名为_list的自定义列表对象

List<T*> _list;
Run Code Online (Sandbox Code Playgroud)

这个List类继承自vector

class List : public vector<T>
Run Code Online (Sandbox Code Playgroud)

在业务类中(在C++中),我返回一个自定义对象列表

List<MyObject> getMyList(){
   ....
   return list;
}
Run Code Online (Sandbox Code Playgroud)

所以我想生成java代码,我可以在这里检索这个C++ List作为java.util.List或java.util.Vector.

在我的swig.i文件中,我无法管理如何体现

%typemap(jstype) List "java.util.Vector"
namespace std {
   %template(CustomVector) vector<MyObject>;
}
Run Code Online (Sandbox Code Playgroud)

任何种类的帮助如何配置此swig.i模板文件或一些示例代码生成java.util.List/Vector返回函数将不胜感激.

谢谢.

c++ java swig list vector

6
推荐指数
1
解决办法
5612
查看次数

<String>做了什么吗?

List<String>是否有效但有效List<int>.我一直想知道这件事.

java generics primitive-types

5
推荐指数
2
解决办法
146
查看次数

专门针对double和float精度的java类

我想知道有人可以帮我提供双级和浮动精度的选项吗?

我正在使用Java3D,从Point3d和Point3f的API规范,我的理解是,实现有效地复制了Point3f类,在必要时将float替换为double.这是因为泛型不能与原始数据类型一起使用吗?效率?

我正在写一个曲线课,我想知道我是否应该以类似的方式提供曲线和曲线.这是最好的选择吗?

java oop precision double performance

5
推荐指数
1
解决办法
100
查看次数

如何为字节 [] 编写模拟匹配器?

我需要一个复杂Matcherbyte[]. 下面的代码不会因为编译argThat的回报Byte[]。有没有办法为Matcher原始类型数组编写专用?

    verify(communicator).post(Matchers.argThat(new ArgumentMatcher<Byte[]>() {

        @Override
        public boolean matches(Object argument) {
            // do complex investigation of byte array
            return false;
        }
    }));
Run Code Online (Sandbox Code Playgroud)

java matcher primitive-types mockito

5
推荐指数
1
解决办法
5971
查看次数

什么是Java相当于C#的默认值(T)

我正在为我的一个项目进行通用Sum投影.代码就像,

public class Sum<T,U extends Number> implements IProject<T,U,U>
{
    @Override
    public U eval(Iterable<T> tList, Function<T,U> property)
    {
        U total;
        for (T t : tList)
        {
            total += property.apply(t);
        }
        return total;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这里有一点小问题,因为我需要初始化总数(显然为0).但是无论如何在java中我都可以使用它default(U).

java generics

5
推荐指数
2
解决办法
2638
查看次数

为什么List <Integer []> listOfArrays = Arrays.asList(new Integer [] {1,2})不编译?

1)好的

List<int[]> listOfArrays1 = Arrays.asList( new int[]{1, 2} );
Run Code Online (Sandbox Code Playgroud)

2)好的

List<int[]> listOfArrays2 = Arrays.asList( new int[]{1, 2}, new int[]{3, 4} );
Run Code Online (Sandbox Code Playgroud)

3)编译错误 Type mismatch: cannot convert from List<Integer> to List<Integer[]>

List<Integer[]> listOfArrays3 = Arrays.asList( new Integer[]{1, 2} );
Run Code Online (Sandbox Code Playgroud)

4)好的

List<Integer[]> listOfArrays4 = Arrays.asList( new Integer[]{1, 2},  new Integer[]{3, 4} );
Run Code Online (Sandbox Code Playgroud)

这是签名asList:public static <T> List<T> asList(T... a)

asList期望0或更多类型为"a".我的"a"是new Integer[]{1, 2},它是类型Integer[].那么,为什么它会产生一个List<Integer>而不是一个List<Integer[]>

java variadic-functions

5
推荐指数
1
解决办法
537
查看次数