我有一个堆栈(记录),其中包含以下元素:
first 20130512142202
second 20130512142204
third 20130512142206
fourth 20130512142209
fifth 20130512142212
我想检查一个String值(比如说“second”)是否被引用到堆栈中的其他位置。 所以我试过了:
while(!Records.empty()) {
String checkRecord=Records.pop().toString();
if(checkRecord.equals("second")) {
System.out.println(checkRecord + " found");
}
else {
System.out.println(checkRecord +" not found");
}
}
System.out.println("END OF STACK");
等于返回false,这很好,因为“second”与“second(20130512142204
)”不完全相同。所以我需要其他东西,我尝试contains()
返回true,但即使使用:
string test = "second 20130512142204";
test.contains(rt);
contains()是实现我需要的正确选择还是我应该尝试不同的方法/修改我的代码? 当且仅当我给出的字符串是堆栈行的一部分时,我才想成真。
答案 0 :(得分:0)
如果你特别想从你的问题中的堆栈示例中找到一个String startsWith“second”。使用“”.startsWith()函数
所以代码是
while(!Records.empty()){
String checkRecord=Records.pop().toString();
//True when the current checkRecord string startsWith "second"
if(checkRecord.startsWith("second"))
{
System.out.println(checkRecord + " found");
}else{
System.out.println(checkRecord +" not found");
}
}
System.out.println("END OF STACK");
此外,“”。configure()函数必须与上面的代码完全相同。我不明白为什么它不适合你。