2016-06-13 28 views
2

我正在使用Android Studio 2.1.2,我试图声明和使用一个小字节数组,但我得到的错误我不明白。Android字节数组不被识别

有问题的代码是:

public class RedActivityMain extends AppCompatActivity { 
    byte[] myBuf = new byte[20]; // <-- Compiler likes this line 
    myBuf[0] = 0x23; // <-- Compiler barfs on this line 

报关行似乎是由编译器,但在分配行,我尝试分配0×23到myBuf数组的第一个条目被接受导致以下投诉显示:

Error:(105, 11) error: ']' expected 
Error:(105, 12) error: ';' expected 
Error:(105, 14) error: illegal start of type 
Error:(105, 15) error: <identifier> expected 

而且,当我悬停在Android Studio编辑器,我得到的东西,如“未知类myBuf出错行;标识预期;而意外的标记

我对Android非常陌生,对Android工作室真的很陌生,我希望有人能推动我朝着正确的方向前进。看起来我没有在Android工作室中设置正确的东西,因为Java语法对我来说看起来是正确的,但也许你们中的一个人看到了我忽略的东西。

感谢您的帮助!

回答

2
myBuf[0] = 0x23; // <-- Compiler barfs on this line 

这是因为该行不在方法中。例如,将其移动到您的onCreate()方法中。

+0

好神......我自己的愚蠢经常引起我的问​​题...谢谢你。非常感激! – HomerJ

-1

尝试投射到一个字节

myBuf [0] =(byte)0x23; // < - 这行上的编译器barf

+0

除非常数> = 0x80,否则不需要,并且不会解决错误消息所显示的实际问题。 – EJP