首页 > 解决方案 > 如何从Java中的字符数组中获取一系列字符?

问题描述

我正在编写一个将一系列值存储在 Array List 对象中的应用程序。所有的值都作为字符串存储在数组中,其中一个参数是时间戳,前缀为“时间戳:”,后跟实际的 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 中比我想出的解决方案更优雅地完成此操作,这基本上是连接数组中的每个单独的字符。任何帮助将不胜感激!

标签: javaarrayscharacter

解决方案


不知道为什么要尝试将字符串转换为字符数组然后再次连接。正如 DevilsHnd 所指出的,您可以通过删除“时间戳:”前缀并获取“Unix 时间”来拆分,也可以替换然后强制转换。请记住,这假设在替换后,用户将始终拥有 Long 数值

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


推荐阅读