package com.servlet;
public class Test3 {
  
public static void  main(String args[])

String [] s=null;
String linshi="a";

        int i=0;
s[i]=linshi;//这里是27行
System.out.print(s[i]);
}}
运行提示
Exception in thread "main" java.lang.NullPointerException
at com.servlet.Test3.main(Test3.java:27)我用的是myeclipse,鼠标移到s[i]=linshi;中的s提示Null pointer access: The variable s can only be null at this location

解决方案 »

  1.   

    数组被初始化为null了当然无法设置某个数组元素的值。
    package com.fenghua.csdn;public class TestStringArray {
    public static void main(String[] args) {
    String[] s=null;
    String lishi="a";
    int i=0;
    s=new String[1];
    s[i]=lishi;
    System.out.println(s[i]); }}
      

  2.   

    这个还真的不好说,我不是大牛,回答的不好莫怪哦,
    首先这个异常是空指针异常,如果你学过了指针的话那下面的你容易理解了
    String[] s=null;
    这一句java虚拟机在栈内存里分配了一个内存给了引用变量s,但是这个引用变量s并未指向堆内存中的内存,而这个s呢只指向在堆内存中分配一维String数组的内存,
    s[i]=linshi;这一句呢也就是错误的那一句了,因为s并未指向堆内存,而你引用了指向堆内存的s[0]数组元素,那就会出现了空指针异常了,有些地方回答的不是准确,希望不要见怪哦