Java 将条形码输入捕获到单个字符串中

Java 将条形码输入捕获到单个字符串中,java,arrays,string,barcode,Java,Arrays,String,Barcode,我一直在努力解决这个问题,但没有解决办法,我确信我做错了很简单。但是我试图将输入捕获到一个简单的字符串中。我尝试将键添加到数组中,并尝试将它们转换为字符串,但没有效果 这是我的基本代码 @Override public void keyPressed(KeyEvent e) { if(e.getKeyCode() >=48 && e.ge

我一直在努力解决这个问题,但没有解决办法,我确信我做错了很简单。但是我试图将输入捕获到一个简单的字符串中。我尝试将键添加到数组中,并尝试将它们转换为字符串,但没有效果

这是我的基本代码

                        @Override
                    public void keyPressed(KeyEvent e) {
                         if(e.getKeyCode() >=48 && e.getKeyCode() <=57){
                             String myString = Character.toString(e.getKeyChar());
                             keys.add(myString);
                        }
                         System.out.println(keys);
                    }
                });
最后几个条目是正确的条形码,但我无法使用以下方法将它们分开:

String barcode = keys.get(keys.size() - 1);
当我打印条形码时,我得到

4
2
2
1
1
4
7
1
1
1
1

这是错误的,因为有额外的数字,而且它不是一个没有空格的字符串。

看起来像
-是列表。因此,当您试图打印它时,Java会打印
toString
函数的结果(类似于此
[4,2,2,1,1,4,7]
)。但是使用
keys.get(n)
只能获取此列表中的最后一个元素

试试这个:
String barcode=keys.toString()


顺便说一句,您有一些额外的数字,因为计算了
按键
函数,该函数会将新值添加到
按键
列表中。

谢谢,我下班回家后会试试。不,没有运气。我得到了[4][4,2][4,2,2][4,2,2][4,2,2,1,1][4,2,2,1,1,4][4,2,2,1,1,4,7][4,2,2,1,1,4,4,4,7,7,1][4,2,2,2,1,4,7,1]和之前的结果一样。还有什么想法吗?
4
2
2
1
1
4
7
1
1
1
1