小编Jan*_*der的帖子

从 Java 本机方法返回对象

我想通过本机 java 接口调用一个方法,该接口返回一个对象。

这是我的本地方法

public native Node getProjectionPoint(double lat, double lon);  
Run Code Online (Sandbox Code Playgroud)

节点类

 public class Node {        
    private String id;
    private double latitude;
    private double longitude;
}
Run Code Online (Sandbox Code Playgroud)

C头文件

JNIEXPORT jobject JNICALL Java_org_smartcar_serverdatainterface_shared_services_CppConnector_getProjectionPoint (JNIEnv *env, jobject obj, jdouble lat, jdouble lon);
Run Code Online (Sandbox Code Playgroud)

我如何创建一个对象并将其返回给java?

c++ java java-native-interface

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

"GetObjectClass"方法与"FindClass"方法的区别和用法

在java本机界面中提供

jclass class = (*env)->FindClass(env,"ClassName");
Run Code Online (Sandbox Code Playgroud)

jclass class = (*env)->GetObjectClass(env,"ClassName");
Run Code Online (Sandbox Code Playgroud)

我想知道这两种方法之间的区别,以及它如何通过使用类名来找到一个类,以及它可以为null的情况.

c++ java java-native-interface

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

从向量 c++ 中获取匹配项的索引

我正在遍历地图,该地图值类型是向量。我在地图中一一获取向量并使用 std::find() 方法搜索项目。

for(BoundWaysMap::const_iterator iterator  = boundWays.begin(); iterator != boundWays.end(); iterator++) 
{
    string wayId = iterator->first;
    std::vector<string> nodesRefCollection = iterator->second;

    if(std::find(nodesRefCollection.begin(), nodesRefCollection.end(), id)!=nodesRefCollection.end())
    {
        std::string cont = "|" + wayId;
        legsFrame.append(cont);
        legsCount ++;
        isFound = true;
    }    
}
Run Code Online (Sandbox Code Playgroud)

我想从 find 方法中获取找到的项目的索引。

c++ stdvector

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

标签 统计

c++ ×3

java ×2

java-native-interface ×2

stdvector ×1