فيما يتعلق بالحكم الفارغ للسلسلة:
انسخ الكود وسيكون الكود كالتالي:://This is right
إذا (التحديد != null && !selection.equals("")) {
WhereClause += التحديد؛
}
// هذا خطأ
إذا (!selection.equals("") && التحديد != null) {
WhereClause += التحديد؛
}
ملحوظة: "==" يقارن بين قيم المتغيرين أنفسهم، أي العناوين الأولى للكائنين في الذاكرة. و"يساوي ()" يقارن ما إذا كان المحتوى الموجود في السلسلة هو نفسه. في الطريقة الثانية للكتابة، بمجرد أن يكون التحديد فارغًا بالفعل، سيتم الإبلاغ عن استثناء المؤشر الفارغ مباشرةً عند تنفيذ طريقة يساوي ولن يستمر التنفيذ.
تحديد ما إذا كانت السلسلة رقمًا:
انسخ رمز الكود كما يلي:
// اتصل بالوظيفة التي تأتي مع Java
منطقية عامة ثابتة هي رقمية (رقم السلسلة) {
لـ (int i = number.length(); --i >= 0;) {
إذا (!Character.isDigit(number.charAt(i))) {
عودة كاذبة.
}
}
عودة صحيحة؛
}
// استخدم التعبيرات العادية
منطقية عامة ثابتة هي رقمية (رقم السلسلة) {
نمط النمط = Pattern.compile("[0-9]*");
إرجاع Pattern.matcher(str).matches();
}
// استخدم رمز ASCII
منطقية عامة ثابتة هي رقمية (رقم السلسلة) {
for (int i = str. length(); --i >= 0;) {
int chr = str.charAt(i);
إذا (مركز حقوق الإنسان < 48 || مركز حقوق الإنسان > 57)
عودة كاذبة.
}
عودة صحيحة؛
}