不兼容的类型:对象无法在java netbeans中转换为String

我正在尝试在我的项目中使用对象数组,我收到一个错误:

incompatible types: Object cannot be converted to String 

在这条线上:

 ST1 = new String[]{emt1, emt2, emt3, emt4}; 

现在我不知道这个错误的原因是什么。 请帮我 。

 Object[] ST1; Object emt1,emt2,emt3,emt4; private void jButton3ActionPerformed(ActionEvent evt) { try { emt1 = null; emt2 = null; emt3 = null; emt4 = null; ST1 = new String[]{emt1, emt2, emt3, emt4}; } .... 

你有两种方法就是将每个Object emt1,emt2,..转换为String,如下所示:

 ST1 = new String[]{(String)emt1, (String)emt2, (String)emt3, (String)emt4}; 

或者您应该更改属性的类型:

 Object emt1, emt2, emt3, emt4; 

字符串

 String emt1, emt2, emt3, emt4; ST1 = new String[]{emt1, emt2, emt3, emt4}; 

您已将emt1,emt2,emt3,emt4Object 。 在创建将数组赋值给变量ST1的最后一行中,您将创建一个String数组并在其中存储Object intances。 这就是导致问题的原因。

如果您希望以这种方式使用对象,并且如果您确定emt1,emt2,emt3,emt4对象都是字符串,则可以向代码添加emt1,emt2,emt3,emt4如下所示:

  ST1 = new String[] { (String) emt1, (String) emt2, (String) emt3, (String) emt4 }; 

这应该工作。

String是一个Object,但Object不一定是String。

您尝试使用变量,这些变量是编译器期望Strings的对象,编译器会告诉您。 也许emt1,emt2,emt3和emt4变量应该声明为String? (从给出的片段很难说)。