|
|
|
สอบถามเรื่อง พารามิเตอร์แบบ Variadic หน่อยครับ มันโชว์ String cannot be converted to int |
|
|
|
|
|
|
|
สอบถามเรื่อง พารามิเตอร์แบบ Variadic หน่อยครับ
ทำไม่ String num2 มันไม่โชว์ครับ มันบอกว่า String cannot be converted to int
Code (Java)
package com.Learnjava;
public class learnArray {
public static void main(String[] args){
variadicParam("aa","bb","cc","dd","ee","ff");
variadicParam(1,2,3,4,5,6);
}
public static void variadicParam(int num1, String... num2){
System.out.println(num1[2]);
System.out.println(num2[2]);
}
}
Tag : Java
|
ประวัติการแก้ไข 2020-04-29 10:43:49
|
|
|
|
|
Date :
2020-04-29 10:42:59 |
By :
teedesign |
View :
798 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพราะ Datatype ของ parameters ที่ส่งจาก Main() กับของ arguments ใน variadicParam method ไม่ตรงกันครับ
Code (Java)
variadicParam(int num1, String... num2) // Varargs เป็น upgrade version ของการส่ง parameter แบบ array
// คล้ายกันกับ (ไม่ใช่เหมือนเป๊ะ)
variadicParam(int num1, String[] num2) // แบบดั้งเดิม
ดังนั้น parameters ที่ส่งเข้าไปใน method เป็น int ได้เฉพาะตัวแรก ตั้งแต่ตัวที่สองเป็นต้นไปต้องเป็น String
Code (Java)
variadicParam("aa","bb","cc","dd","ee","ff"); // ตั้งแต่ตัวแรกก็ผิดแล้วเพราะ "aa" เป็น String
variadicParam(1,2,3,4,5,6); // ตัวแรกผ่าน แต่ตัวที่สอง 2 เป็น int ไม่ใช่ String
// ตัวอย่างการใช้งานที่ถูกต้อง
variadicParam(1, "aa","bb","cc","dd");
variadicParam(6, "ee","ff");
ศึกษาเพิ่มเติมที่: https://www.programiz.com/java-programming/varargs
|
ประวัติการแก้ไข 2020-04-29 12:48:52 2020-04-29 12:49:59 2020-04-29 12:50:04 2020-04-29 12:50:09 2020-04-29 12:52:08
|
|
|
|
Date :
2020-04-29 12:48:02 |
By :
PhrayaDev |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
argument 1 เป็น int
Code (Java)
System.out.println(num1[2]); //ผิด
System.out.println(num1); // ถูก
argument 2 เป็น array
Code (Java)
System.out.println(num2[2]); // ถูกแล้ว
|
|
|
|
|
Date :
2020-04-29 12:55:39 |
By :
PhrayaDev |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ
|
|
|
|
|
Date :
2020-04-29 16:21:48 |
By :
teedesign |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|