相关疑难解决方法(0)

在Java中安全地将long转换为int

Java中最常用的方法是验证转换longint不会丢失任何信息?

这是我目前的实施:

public static int safeLongToInt(long l) {
    int i = (int)l;
    if ((long)i != l) {
        throw new IllegalArgumentException(l + " cannot be cast to int without changing its value.");
    }
    return i;
}
Run Code Online (Sandbox Code Playgroud)

java casting

467
推荐指数
7
解决办法
56万
查看次数

为什么Java Generics不支持原始类型?

为什么Java中的泛型使用类而不是基本类型?

例如,这工作正常:

List<Integer> foo = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)

但这是不允许的:

List<int> bar = new ArrayList<int>();
Run Code Online (Sandbox Code Playgroud)

java generics primitive

222
推荐指数
5
解决办法
7万
查看次数

使用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
查看次数

使用SWIG将Java Map <String,String>传递给C++方法

我有一个用C++定义的方法:

std::map<std::string, std::string> validate(
                                   std::map<std::string, std::string> key, 
                                   std::map<std::string, std::string> value
                                   );
Run Code Online (Sandbox Code Playgroud)

我想在Java中使用此方法.所以,我必须使用Swig编写一个包装器,通过它我可以将Java MapSTL 传递map给c ++方法.

请告诉我如何为swig定义.i文件以使其正常工作.

c++ java swig

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

标签 统计

java ×4

c++ ×2

swig ×2

casting ×1

generics ×1

list ×1

primitive ×1

vector ×1