gpt4 book ai didi

android - String to Long 结果为空值

转载 作者:行者123 更新时间:2023-11-29 18:09:59 24 4
gpt4 key购买 nike

我正在尝试从包含 Facebook ID 的字符串中获取“long”值,这是一个 10 位数字。这是我的函数的样子:

@Override
public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3) {
try {
final long opponentId;
opponentId = jsonArray.getJSONObject(position).getLong("uid");
String opponentName = jsonArray.getJSONObject(position).getString("name");
Toast.makeText(this, "UID: " + opponentId + "\n" + "Name: " + opponentName, Toast.LENGTH_SHORT).show();

SharedPreferences myPrefs = getSharedPreferences("user", MODE_WORLD_READABLE);
String playerUidString = myPrefs.getString("uid", null);


if (playerUidString == null) {
Log.d(GlobalVars.TAG, "Empty UID");
return;
}

Log.d(GlobalVars.TAG, "ID: " + playerUidString);
Log.d(GlobalVars.TAG, "ID Long: " + String.valueOf(Long.getLong(playerUidString)));

// long player_id = Long.getLong(playerUidString);
// new GameRequest(getBaseContext(), player_id, opponentId);


} catch (JSONException e) {
Log.d(GlobalVars.TAG, e.getMessage());
}
}

通常,我会将 long player_id 设置为等于将 playerUidString 转换为 long,但 Long.getLong(playerUidString) 结果为 null,而 playUidString 等于 10 位 ID 号。发生这种情况的原因是什么?

编辑:我的 Log.d 输出:

06-29 11:06:37.823: D/I See It(16053): ID: 1089490706
06-29 11:06:37.823: D/I See It(16053): ID Long: null

最佳答案

您忽略了 Long.getLong(String str) 的事实不应将 String 解析为 long,而是返回由该字符串表示的 系统属性 的 long 值。正如其他人所建议的那样,您实际需要的是 Long.parseLong(String str)

Check out Java Document Here for more information .

关于android - String to Long 结果为空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11266404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com