Berapa jumlah maksimum parameter yang dimiliki oleh suatu metode di Java dan mengapa?
Saya menggunakan Java 1.8 pada sistem Windows 64-bit.
Semua jawaban di StackOverflow tentang ini mengatakan bahwa batas teknisnya adalah 255 parameter tanpa menyebutkan alasannya.
Tepatnya, 255 untuk this
metode statis dan 254 untuk metode non-statis ( akan menjadi 255 dalam kasus ini).
Saya pikir ini bisa dijelaskan dalam semacam spesifikasi dan bahwa hanya ada jumlah maksimum parameter statis yang diizinkan.
Tapi ini hanya berlaku untuk int
dan semua tipe 4-byte . Saya melakukan beberapa tes dengan long
parameter, dan saya hanya bisa mendeklarasikan 127 parameter dalam kasus itu.
Dengan String
parameter, jumlah yang diizinkan yang saya simpulkan dari pengujian adalah 255 (mungkin karena ukuran referensi adalah 4 byte di Jawa?).
Tetapi karena saya menggunakan sistem 64-bit, ukuran referensi harus lebar 8 byte dan dengan String
parameter, jumlah maksimum yang dibolehkan adalah 127, mirip dengan long
tipe.
Bagaimana batas ini diterapkan secara tepat?
Apakah batas itu ada hubungannya dengan ukuran tumpukan metode?
Catatan: Saya tidak benar-benar akan menggunakan banyak parameter ini dalam metode apa pun, tetapi pertanyaan ini hanya untuk memperjelas perilaku yang tepat.
<= 4
. Sesuatu yang lebih mungkin harus dibungkus menjadi suatu objek.