急!求处!一个简单的的java问题!

来源:百度知道 编辑:UC知道 时间:2024/05/14 01:29:33
我只要点登录窗口按扭,执行以下代码

public void jBlogin_actionPerformed(ActionEvent e) {
String pass = null;
pass = String.valueOf(jPasswordField1.getPassword());
String sqlSelect = null;
sqlSelect = "select count(*) from tb_user where userid = '" + jTextField1.getText().trim()
+ "' and pass = '" + pass + "'";
java.util.Vector vdata = null;
appstu.util.RetrieveObject retrieve = new appstu.util.RetrieveObject();
vdata = retrieve.getObjectRow(sqlSelect);
System.out.println(vdata.size() + " : " + vdata.get(0));

if (Integer.parseInt(String.valueOf(vdata.get(0))) > 0){
AppMain frame = new AppMain();
this.setVisible(false);
}else{
javax.swing.JOptionPane.showMessageDialog(null, "输入的口令不正确,

java.util.Vector vdata = null改成:
java.util.Vector vdata = new Vector();
明显是对“对象”概念掌握不牢固。
顺便给你解释下:java.util.Vector是一个类,Vector vdata之后vdata就是一个名字叫“vdata”的“Vector ”,有了名字则需要有内容,于是需要“初始化”,如果你Vector vdata = new Vector();,那么内存就会给“vdata”分配一个用来操作“Vector ”的空间,vdata 的指针指向这个空间的首地址;如果你是Vector vdata = null;出来的内存就不晓得如何进行操作,因为vdata指向的是空值,不能进行操作。

当然,和C不一样,JAVA的对象大部分需要“new”出来。
仔细把JAVA的基本概念重新看次吧

空指向异常 注意看程序(JF_login.java:143) (JF_login.java:161)
这个两个位置 一般都是变量没有初始化

报的空指针异常,看看报错时System.out.println(vdata.size() + " : " + vdata.get(0))有没有输出东西,集合长度能否显示,如果这里没有输出的话说明vdata还是为空,那就看看 retrieve.getObjectRow(sqlSelect); 方法有没有问题,如果输出了集合长度,那么就检查下if判断里的代码.
感觉retrieve.getObjectRow(sqlSelect); 错误的可能性大一些.

空指针异常 估计是java.util.Vector vdata = null; 的问题

java.util.Vector vdata = new Vector();就好了咯

java.util.Vector vdata = null
不能为null
空指针
给他分配一个空间或者给它一个指向