什么';使用具有字段映射的Java字符串的最佳方法是什么?

什么';使用具有字段映射的Java字符串的最佳方法是什么?,java,string,Java,String,我有一个具有特定字段布局的长字符串: Char 1-6=消息的类型 Char 7=系统编号 字符8-9=未使用 Char 10=移位数 等等 我知道我可以使用String方法来处理这个问题,但我希望有更好的方法,可以让我以更有意义的方式将字段与位置关联起来 这是否存在?谢谢您的帮助。我不完全确定您想做什么,但这应该可以: String typeOfMessage = str.substring(0,5); char systemNumber = str.charAt(6); …等等。使

我有一个具有特定字段布局的长字符串:

Char 1-6=消息的类型
Char 7=系统编号
字符8-9=未使用
Char 10=移位数
等等
我知道我可以使用String方法来处理这个问题,但我希望有更好的方法,可以让我以更有意义的方式将字段与位置关联起来


这是否存在?谢谢您的帮助。

我不完全确定您想做什么,但这应该可以:

String typeOfMessage = str.substring(0,5);
char systemNumber  =   str.charAt(6);

…等等。

使用
jsefa
@FlrDataType
。。。对于固定长度记录

这样,您可以创建一个类并轻松定义位置

@FlrDataType
public class MyMessage {

   @FlrField(pos = 1, length = 5)
   String messageType;

   @FlrField(pos = 6, length = 1)
   String systemNumber;

   //etc
}

这里是一个快速教程

有一个自定义类,其中的每个变量定义它们所表示的信息类型。在该类的构造函数中,传递该字符串并通过解析该字符串初始化不同字段的值。然后,您可以无缝地访问字符串不同部分表示的信息


如果需要有关原始字符串的信息,您还可以将原始字符串保存在这个新类的对象中。

您可以创建一个包含原始字符串所包含的所有属性的类,当您创建该类的对象时,将源字符串传递给它,解析它并将每个值保存到相应的类字段中。您将始终需要使用字符串方法来实现这一点。我将采用类方法,以提高可用性和可读性。同意。将字符串传递给处理所有这一切的类可能是最简单的方式,允许您传递所有内容,所有字符串解析都在后台进行。请添加类解决方案,以便我选择它。我以前也这样做过,希望能做得更好。你认为下面的jsefa答案如何?