如题:
JAVA中一个String的内容包含另一个String的内容的语句是什么?
JAVA中一个String的内容包含另一个String的内容的语句是什么?
解决方案 »
- 图书管理系统界面问题
- 为什么JCombox总是报错?
- 关于Java转换pdf文件的相关知识
- List four kinds of procedures (funcitons)
- java 能否调用win32 api?
- struts action调用jsp页面,在这个jsp页面中的某些数据为数据库数据,我怎么通过action把数据库的数据传送给jsp
- 做对日的软件外包,不知道有没有前途?给点意见
- HashMap------------->int[]
- 是否能实现用鼠标双击来运行.class文件?
- 关于《21天学通java》和《java编程思想》
- 菜鸟请教GUI问题!
- 怪!强制类型转换无用,请高人指点!
,我以为有返回为boolean的方法了.没有看到它了,
这样应该可以解决了.
String s1="12345";
String s2="abc"+s1+"def";
或者
String s1="abcdef";
String s2="123456";
String ss=s1.substring(0,3)+s2+s1.substring(3,6);你说的是什么呢?
System.out.println(str1.contains("world"));
结果为真。
String s1 = new String(s);总共两个对象,一个是匿名String对象,它包括字符s另一个是用s作为参数的String类的构造函数实例化一个新的String类的对象,并将该引用赋给s1,这个新的String对象包含与String对象s(姑且这么叫)相同的次序的字符。
是这样的了。 如何判断一个String 是否包含在另一个String 中?
但是现在有一个问题,
不管是用contains还是indexOf都会抛出一个错误:No data found
[Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt
java.lang.NullPointerException
at demo.Operate.jbInit(Operate.java:128)
at demo.Operate.<init>(Operate.java:70)
at demo.Operate.main(Operate.java:400)Process completed.烦恼中……
和contains或indexOf没什么关系
这样的实现方法是;
import java.lang.String;public class TestContains
{
public static void main(String[] args)
{
String s = "hsdflkajlkfhelloflksdj";
String f = "hello";
while(s.length() >= f.length()){
if(s.startsWith(f)){
System.out.println("包含所要查找的字符串");
return;
} else{
s = s.substring(1);
}
} if(s.length() < f.length()){
System.out.println("不包含所要查找的字符串");
}
}
}
import java.lang.String;public class TestContains
{
public static void main(String[] args)
{
String s = "hsdflkajlkfhelloflksdj";
String f = "hello";
System.out.println(s.contains(f));
}
}
我也在找是不是和其它地方有什么冲突没有 了,还没有找到了.
10楼和11楼的了.
我都测试了您的结果了:
10楼的结果是"不包含所要查找的字符串 "
11楼,不管我是这样System.out.println(f.contains(s));
还是这样
System.out.println(s.contains(f));
其结果都是false了,
您的是不是这样了?
这个不是sql的问题嘛 你的被比较的字符串是个null啊 ,也就是说你查询数据库的时候没有查询出数据 就对null使用了方法 当然空指针了
No data found
[Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt
java.lang.NullPointerException
at demo.Operate.jbInit(Operate.java:129)
at demo.Operate.<init>(Operate.java:71)
at demo.Operate.main(Operate.java:446)Process completed.//是运行的错误,编译时没有错误.不加就是对的了."cmbClass"是有值的了.
代码是这样的了:
try{
Statement stmt=con.createStatement();
String strResult = "无";
ResultSet rs=stmt.executeQuery("select cClass from BasicInfo");
while(rs.next()){
// if(!strResult.contains(rs.getString("cClass").trim())){
strResult = strResult+ ":"+rs.getString("cClass");
// }
}
String str[] = strResult.split(":");//根据给定的正则表达式的匹配来拆分此字符串
cmbClass= new JComboBox(str);
}catch(Exception e){
System.out.println(e.getMessage());
有值的话,每行都有的了,不会存在有一行没有值,还是 查询语句也能保证最后一条也是有值的了
你比较的估计是 引用变量,当然是指针异常了。 函数没有选对。两个引用变量 肯能地址不同,但都是指向 同一内容的。
strResult = strResult+ ":"+rs.getString("cClass");
}
因为你if 语句 rs.getString("cClass").trim()))一次,就调到下一行了
你可以用一个变量保存就可了 String cClass = rs.getString("cClass").trim();
然后利用 String cClass 就可了
啊, 这个问题弄我几天都没有弄出来呀,终于解决了是这样的了.
String strResult = "无";
String strClass="";
ResultSet rs=stmt.executeQuery("select cClass from BasicInfo");
while(rs.next()){
strClass = rs.getString("cClass").trim(); if(!strResult.contains(strClass)){
//strResult = strResult+ ":"+rs.getString("cClass").trim();
strResult = strResult+ ":"+strClass;
}
}不过用这"//"行怎么还是不行? ,不管了,反正解决了.
谢谢您们了...分很少呀,怎么分了?
我想您们回答也不是为了得分的了.是不是?
但是我总觉得rs.next()为真,查找就还有记录,没有记录时,rs.next()就不会再往下执行,再怎么样也不会出现null值的了。
不过事实证明我的想法是错误的了。