ฉันเป็นมือใหม่ Java ฉันกำลังพยายามหาว่าตัวเลขเป็นสองเท่าหรือไม่โดยมีอะไรแบบนี้:
if ( typeof ( items.elementAt(1) )== Double ) {
sum.add( i, items.elementAt(1));
}
จะขอบคุณถ้ามีคนบอกวิธีจัดเรียงไวยากรณ์ใหม่เพื่อให้ทำงานได้อย่างถูกต้อง
ฉันเป็นมือใหม่ Java ฉันกำลังพยายามหาว่าตัวเลขเป็นสองเท่าหรือไม่โดยมีอะไรแบบนี้:
if ( typeof ( items.elementAt(1) )== Double ) {
sum.add( i, items.elementAt(1));
}
จะขอบคุณถ้ามีคนบอกวิธีจัดเรียงไวยากรณ์ใหม่เพื่อให้ทำงานได้อย่างถูกต้อง
Object#GetType()
เมธอดซึ่งส่งคืน a Type
. typeof()
ที่สามารถนำมาใช้ในการเปรียบเทียบกับ items.elementAt(1).GetType() == typeof(double)
ในกรณีนี้ก็จะเป็น
คำตอบ:
ลองสิ่งนี้:
if (items.elementAt(1) instanceof Double) {
sum.add( i, items.elementAt(1));
}
elementAt(0)
; เนื้อหาส่วนใหญ่ใน Java ใช้ศูนย์
เนื่องจากนี่เป็นคำถามแรกจาก Google ฉันจะเพิ่มtypeof
ทางเลือกสไตล์ JavaScript ที่นี่ด้วย:
myObject.getClass().getName() // String
การสะท้อนกลับช้าลง แต่ใช้ได้กับสถานการณ์เมื่อคุณต้องการทราบว่าเป็นประเภทสุนัขหรือแมวไม่ใช่ตัวอย่างของสัตว์ คุณจะทำสิ่งที่ชอบ:
if(null != items.elementAt(1) && items.elementAt(1).getClass().toString().equals("Cat"))
{
//do whatever with cat.. not any other instance of animal.. eg. hideClaws();
}
การไม่บอกว่าคำตอบข้างต้นใช้ไม่ได้ผลยกเว้นส่วนการตรวจสอบค่าว่างเป็นสิ่งที่จำเป็น
อีกวิธีหนึ่งในการตอบคำถามนั่นคือการใช้ยาสามัญและคุณรับประกันได้ว่าจะมี Double เป็นองค์ประกอบของรายการ
List<Double> items = new ArrayList<Double>();
.getClass().toString()
เนื่องจากฉันไม่สามารถนำเข้าคลาสได้เนื่องจากความไม่สอดคล้องกันทางเดียว ขอบคุณ.
ใช้นิพจน์ทั่วไปเพื่อบรรลุภารกิจนี้ โปรดดูรหัสด้านล่าง
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter your content: ");
String data = reader.readLine();
boolean b1 = Pattern.matches("^\\d+$", data);
boolean b2 = Pattern.matches("[0-9a-zA-Z([+-]?\\d*\\.+\\d*)]*", data);
boolean b3 = Pattern.matches("^([+-]?\\d*\\.+\\d*)$", data);
if(b1) {
System.out.println("It is integer.");
} else if(b2) {
System.out.println("It is String. ");
} else if(b3) {
System.out.println("It is Float. ");
}
} catch (IOException ex) {
Logger.getLogger(TypeOF.class.getName()).log(Level.SEVERE, null, ex);
}
}
object o = new object(); Type t = typeof(o);
o is a variable but is used like a type
ชื่อของคำถามนี้ทำให้เข้าใจผิด ...