java中索引越界异常

问题遇到的现象和发生背景

package AprioriMannger;

public class Apriori {
int x = 0, flag = 1;
char[] b = {};

//获取商品数
public void getL1(char[][] thing) {

    for(int i=0;i<thing.length;i++){        //遍历二维数组
        for(int j=0;j<thing[i].length;j++){
            for(int k=0;k<x;k++){     //k<x直接跳出循环
                 if(b[k]!=thing[i][j]){}     
                else {
                    flag=0;
                    break;
                }
            }
            if(flag==1){
                b[x]=thing[i][j];   //这一行报错Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
                x++;

            }else {
                flag=1;
            }
        }       



    }




}

}

问题相关代码,请勿粘贴截图

主方法就是一个简单的调用,为什么会Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

我的解答思路和尝试过的方法
我想要达到的结果

字符数组b是空数组,x是大于0的,肯定会下标越界呀