java - Java - 静态类的列表数组总是返回相同的值
问题描述
我正在尝试填写数组的静态列表。该函数RTTWifiPositionsToJava
在 Unity (C#) 中用于传递每个 WifiPosition 的参数。但是列表中的每一项m_RTTWifiPositions
都与最后一个添加的值具有相同的值。
有人可以帮忙吗,谢谢:)
static class RTTWifiPos
{
static String strMacAddress;
static double posX, posY, posZ;
static double distance;
static double distanceDev;
}
static List<RTTWifiPos> m_RTTWifiPositions;
public static boolean RTTWifiPositionsToJava(int nIndex, String strMacAddress, double PosX, double PosY, double PosZ, double distance, double distanceStdDev)
{
if(nIndex == 0)
{
if(m_RTTWifiPositions != null)
m_RTTWifiPositions.clear();
else
m_RTTWifiPositions = new ArrayList<RTTWifiPos>();
}
RTTWifiPos rttpos = new RTTWifiPos();
rttpos.strMacAddress = strMacAddress;
rttpos.posX = PosX;
rttpos.posY = PosY;
rttpos.posZ = PosZ;
rttpos.distance = distance;
rttpos.distanceDev = distanceStdDev;
m_RTTWifiPositions.add(rttpos);
return true;
}
从 Unity3D 调用该函数RTTWifiPositionsToJava
,如下所示:
for (nIndex = 0; nIndex < WifiRTTSignals.Count; nIndex++)
{
result = m_pluginWifiRTTClass.CallStatic<bool>("RTTWifiPositionsToJava", nIndex, WifiRTTSignals[nIndex].macAddress, (double) WifiRTTSignals[nIndex].pos.x, (double) WifiRTTSignals[nIndex].pos.y, (double) WifiRTTSignals[nIndex].pos.z, (double) WifiRTTSignals[nIndex].distance, (double) 0f);
}
解决方案
推荐阅读
- django - Django-Tinymce 未加载
- java - 如何在多个线程中在 Spring Boot 中运行相同的 @Scheduled 方法
- django - 如何在 Django 管理员的图像/文件字段中使用 dropify?
- laravel-5 - 为什么我的延迟作业有未定义的变量?
- python - 如何计算每个时期的准确度
- amazon-web-services - 如何在没有 ssh 的本地计算机上托管在 ec2 实例上的集群上使用 kubectl 命令
- java - 通过 pom 文件增加 maven 内存不起作用
- darknet - Darknet Yolov4 会放大小图像吗?
- php - 在 SQL Laravel Eloquent 中的 NOT NULL 列 int 处插入一个值
- python - 在 GitHub 中使用 pytest 进行测试时,如何使用项目中的文件来比较临时文件?