首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java中将字符串("0 100 300 200")转换为long数组?

如何在Java中将字符串("0 100 300 200")转换为long数组?
EN

Stack Overflow用户
提问于 2014-05-10 22:48:44
回答 2查看 127关注 0票数 1

如何在Java (Android)中将字符串(格式为"0 100 300 200")转换为long数组?

你能看一下我的代码吗?

代码语言:javascript
复制
public long[] ConvertStringToLongArray(String tekst)
    {
        int L1 = tekst.length();
        long[] somelong = new long[L1];
        String[] tekstarray = tekst.split(" ");
        for (int i=0;i<=L1;i++)
        {
            somelong[i] = Long.parseLong(tekstarray[i]);
        }
        return somelong;
    }

这是学校社区信息化应用的一部分。

我是Java编程的初学者。

EN

回答 2

Stack Overflow用户

发布于 2014-05-10 22:53:54

代码基本上没问题。但是,您确实有一个bug,就是用L1初始化somelong的长度。L1tekst中的字符数,因此这将导致在数组的末尾出现一堆无意的零。正确的大小应该与tekstarray的大小相同。

编辑:正如Luiggi Mendoza评论的那样,用"\\s+"而不是" "拆分可以解决由多个空格分隔的数字的任何问题。

代码语言:javascript
复制
public long[] ConvertStringToLongArray(String tekst)
{
    String[] tekstarray = tekst.split("\\s+");
    long[] somelong = new long[teksarray.length];
    for (int i = 0; i <= somelong.length; i++)
    {
        somelong[i] = Long.parseLong(tekstarray[i]);
    }
    return somelong;
}
票数 1
EN

Stack Overflow用户

发布于 2014-05-10 22:54:31

您的代码很好。将L1的大小更改为

代码语言:javascript
复制
L1 = tekstarray.length; 

您还需要在for循环中删除=。

代码语言:javascript
复制
for (int i=0;i <L1;i++)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23582463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档