如何从Java的字符数组中提取一系列字符?

时间:2019-05-03 02:53:31

标签: java arrays character

我正在编写一个将一系列值存储在Array List对象中的应用程序。所有这些值都以字符串形式存储在数组中,其中一个参数是时间戳记,前缀为“ Timestamp:”,后跟实际的Unix时间戳记(例如1556849753564)

我只需要从Timestamp String对象中解析Unix时间戳。

这是我尝试过的:

public void parseTimestamp() {
    String lastBlockTimeAsString = (String) HashArray.hashArray.get(HashArray.hashArray.size() - 12);
    char[] timeAsCharArray = lastBlockTimeAsString.toCharArray();
    long lastBlockTime = Long.parseLong(String.valueOf(timeAsCharArray[12] + timeAsCharArray[13] ..... etc ));
}

HashArray.hashArray.get()调用只是从数组列表中提取Timestamp对象。 我要从数组中提取第12个字符,因为这是时间戳的开始。

在Python中,我可以做类似的事情:

timeAsCharArray[12]:[24] 

与提出的解决方案相比,如何用Java更加优雅地完成此任务,该解决方案基本上是将数组中的每个字符连接起来。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

不确定为什么要尝试将字符串转换为字符数组,然后再次连接。如DevilsHnd所述,您可以通过删除“ Timestamp:”前缀并获取“ Unix时间”来进行拆分 或者您可以替换然后进行投射。请记住,这是假定替换后,用户将始终具有Long数值

long lastBlockTime = Long.parseLong(lastBlockTimeAsString.replace("Timestamp: ",""));