你的Connection变量应该在类之中,在使用ResultSet之前不可以把Statement和Connnection不应该关,你的ResultSet不应被返回而是直接把结果拿到 []string 内再返回
import java.util.Arrays;
import java.lang.*;
import java.sql.*;
public class DatabaseConnectorTest {
        private Connection connection = null;
        private Statement statement = null;
        public void connect(String connString) throws SQLException {
                try {
                        Class.forName("org.sqlite.JDBC");
                        connection = DriverManager.getConnection(connString,"root", "root");
                } catch (SQLException e) {
                        System.err.print("connect SQLException: ");
                        System.err.println(e.getMessage());
                } catch (ClassNotFoundException e) {
                        System.err.print("ClassNotFoundException: ");
                        System.err.println(e.getMessage());
                }
        }
        public String[] getUserName(String connString, String SQLString) {
                ResultSet rs = null;
                try {
                        if(null == connection)
                                connect(connString);
                        if(null == statement)
                                statement = connection.createStatement();
                        rs = statement.executeQuery(SQLString);
                        int rowcount = 0;
                        int i = 1;
                        while(rs.next()) {
                                rowcount = i++;
                        }
                        String[] retArray = new String[rowcount];
                        i=0;
                        rs = statement.executeQuery(SQLString);
                        while (rs.next()) {
                                retArray[i++] = rs.getString("user_name");
                        }
                        return retArray;
                } catch (SQLException e ) {
                        System.err.print("getUserName SQLException: ");
                        System.err.println(e.getMessage());
                } finally {
                        if (statement != null) {
                                try { statement.close(); }
                                catch(SQLException e) {
                                        System.err.print("getUserName Final SQLException: ");
                                        System.err.println(e.getMessage());
                                }
                        }
                }
                return null;
        }
        public static void main(String[] agrs){
                String connString = "jdbc:sqlite:/tmp/test.db"; <<<< 用你自己的
                String SQLString = "SELECT user_name FROM users";
                DatabaseConnectorTest db = new DatabaseConnectorTest();
                String[] user_name = db.getUserName(connString, SQLString);
                System.out.println(Arrays.toString(user_name));
        }
}