以下代码生成此错误消息,并且我不确定原因:"无法从静态上下文引用非静态变量charArray。"代码在这里:
import java.util.*;
public class MyClass{
String userInput;
char[] charArray;
public static void main(String args[]){
MyClass testString = new MyClass("hello");
for(int i = 0; i < charArray.length; i++){
}
}
MyClass(String input){
userInput = input;
charArray = input.toCharArray();
}
}
有关如何解决此问题的任何建议吗?
答案 0 :(得分:2)
更改
for(int i = 0; i < charArray.length(); i++){
到
for(int i = 0; i < testString.charArray.length; i++){
charArray
是MyClass
类的实例成员,因此它需要该类的实例才能被访问。 testString
包含对该类实例的引用,可用于访问charArray
。