1,以下程序有什么不合理的地方
String str1 = "A";
String str2 = "B";
String str3="C";
String str = str1+str2+str3;,SpringIOC抛出NullpointException如何处理
写一个可以重复执行的SQL语句;
String str1 = "A";
String str2 = "B";
String str3="C";
String str = str1+str2+str3;,SpringIOC抛出NullpointException如何处理
写一个可以重复执行的SQL语句;
public class Test {
public static void main(String args[]) {
String str1 = "A";
String str2 = "B";
String str3 = "C";
String str = str1 + str2 + str3; System.out.println(str); /*
* int i = 1; int a = 2; int b = 3; int c = 4; int e = ++i; int d = ++i +
* a++ + b++ + c++; System.out.println(d); System.out.println(e);
*/ }
}
第一次回复 试试
什么意思?...
package com.cn;public class Test {
public static void main(String args[]) {
String str1 = "A";
String str2 = "B";
String str3 = "C";
String str = str1 + str2 + str3; System.out.println(str); /*
* int i = 1; int a = 2; int b = 3; int c = 4; int e = ++i; int d = ++i +
* a++ + b++ + c++; System.out.println(d); System.out.println(e);
*/ }
}继续试,不信不行!
可以用StringBuffer StringBuilder(jdk1.5以上)来处理字符串相加
恩 ,应该就是这样另外一题:通常碰到SpringIOC抛出NullpointException该如何处理
这个问题一般是没有注入成功,或者根本就没有注入,检查spring配置文件不就可以 了吗
这样产生了一个对象同理以下也是
而 str=str1+str2+str3这时str又在内存中产生了一个新对象,它的内容是ABC,而程序的愿意是一种追加操作,这样写造成了内存的浪费
应采用StringBuffer
捕获IOException后在finally关闭流
如:finally {
try {
writers.close();
} catch (Exception e) {
e.printStackTrace();
}
最好用StringBuffer
这种题目在面试时经常会遇到
SqlDataReader reader = Comm.ExecuteReader();
while (reader.Read())
{
}这个算不算啊
纯属感觉......
就回答:应该是NullPointerException,所以,是java虚拟机发疯了。不过,可能lz就直接被轰出来了,哈哈good luck
1。配置文件错误
2。没有写set方法
我也来支持一下,
另外可以说“为了速度,如果没有线程安全问题,在jdk5.0以后,可以使用StringBuilder”
这题满分100,得分就120了!good luck
写一个可以重复执行的SQL语句;
String sql = "select * from user where name=?"
PreparedStateMent pstmt = conn.preparedStatement(sql );
pstmt.setString(1, "xxx");
pstmt.executeQuery();.........
好像连续引用出错了也,哈哈
[/Quote]
public class Test {
[/Quote]
public static vo……
[/Quote]
public static void main(String args[]) {
String str1 = "A";
String str2 = "B";
String str3 = "C";
String str4 = str1+str2+str3;
StringBuffer str = new StringBuffer();
str.append(str1).append(str2).append(str3);
System.out.println(str.toString());
System.out.println(str4); }
}执行结果是一样的……过程中增加了负担……
我认为是写存储过程
给你个通用的分页sql语句,create or replace package Tools
is
type ResultData is ref cursor;
procedure sp_Page(p_PageSize int, --每页记录数
p_PageNo int, --当前页码,从 1 开始
p_SqlSelect varchar2, --查询语句,含排序部分
p_SqlCount varchar2, --获取记录总数的查询语句
p_OutRecordCount out int,--返回总记录数
p_OutCursor out ResultData);
end Tools;create or replace package body Tools
is
procedure sp_Page(p_PageSize int, --每页记录数
p_PageNo int, --当前页码,从 1 开始
p_SqlSelect varchar2, --查询语句,含排序部分
p_SqlCount varchar2, --获取记录总数的查询语句
p_OutRecordCount out int,--返回总记录数
p_OutCursor out ResultData)
as
v_sql varchar2(3000);
v_count int;
v_heiRownum int;
v_lowRownum int;
begin
----取记录总数
execute immediate p_SqlCount into v_count;
p_OutRecordCount := v_count;
----执行分页查询
v_heiRownum := p_PageNo * p_PageSize;
v_lowRownum := v_heiRownum - p_PageSize +1; v_sql := 'SELECT *
FROM (
SELECT A.*, rownum rn
FROM ('|| p_SqlSelect ||') A
WHERE rownum <= '|| to_char(v_heiRownum) || '
) B
WHERE rn >= ' || to_char(v_lowRownum) ;
--注意对rownum别名的使用,第一次直接用rownum,第二次一定要用别名rn OPEN p_OutCursor FOR v_sql; end sp_Page;end Tools;