kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
max steel
max steel
Question

Metode statis tidak dapat direferensikan dari konteks non statis: Daftar<String>

Saya yakin ini adalah pertanyaan dasar dan saya melewatkan sesuatu. Namun saya jengkel mencari jawaban atas masalah ini dan karenanya saya meminta bimbingan Anda.

Tujuannya adalah untuk membuat metode statis generateStringArray () yang dapat mengembalikan array. Namun setiap kali saya menjalankan kode dalam bentuk di bawah ini, kode tersebut melempar kesalahan:

Metode statis tidak dapat direferensikan dari konteks non statis: List<String>

  1. Metode saya statis dan array dapat dikembalikan dari statis
  2. Alih-alih string, jika saya menggunakan void dan tidak mengembalikan, kompiler akan menjalankan

Mengapa hal ini menimbulkan kesalahan? Bagian mana dari kode yang dijalankan sebagai instance kelas dan bukan statis? Apakah ada hubungannya dengan cara saya mendefinisikan fungsi atau string?

Saya telah memeriksa solusi lain yang tersedia untuk masalah serupa tetapi pertanyaan saya berkaitan dengan apa yang tidak statis dalam kode?


Kode

public class test_clonestring {

    public static String[] generateStringArray (Integer lenstr){    
        String[] sstring = new String[lenstr]; 

        for (Integer i = 0; i<lenstr; i++) {
            sstring[i] = 'Test ' + i;
        }            

        system.debug('STD_DBG:0:'+sstring);

        return (sstring);

    }
}
4 2017-10-04T10:38:27+00:00 2
 Raul
Raul
Pertanyaan edit 4 Oktober 2017 в 10:47
SalesForce
class
apex
static
compile-error
Solution / Answer
Keith C
Keith C
4 Oktober 2017 в 10:46
2017-10-04T10:46:01+00:00
Lebih
Sumber
Sunting
#21421164

Kode yang telah anda posting memang terkompilasi. Untuk memanggilnya, Anda harus menggunakan nama kelas seperti ini (karena metodenya statis):

String[] stringArray = test_clonestring.generateStringArray(5);

Ini tidak akan terkompilasi:

String[] stringArray = new test_clonestring().generateStringArray(5);
6
0
Kecerdasan buatan untuk mengurai produk dari halaman mana pun
productapi.dev
Alex Vishneuski
Alex Vishneuski
20 Juni 2019 в 8:45
2019-06-20T08:45:53+00:00
Lebih
Sumber
Sunting
#21421165

itu tercakup dalam spesifikasi: Variabel statis kelas tidak dapat diakses melalui instance dari kelas tersebut. Jika kelas MyClass memiliki variabel statis myStaticVariable, dan myClassInstance adalah instance dari MyClass, myClassInstance.myStaticVariable bukanlah ekspresi yang legal.

0
0
Kecerdasan buatan untuk mengurai produk dari halaman mana pun
productapi.dev
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Inessa bu
Terdaftar 4 minggu yang lalu
2
Denis Babushkin
Terdaftar 1 bulan yang lalu
3
asakuno asakuno
Terdaftar 1 bulan yang lalu
4
aldo salerno
Terdaftar 1 bulan yang lalu
5
Анна Батицкая
Terdaftar 1 bulan yang lalu
Kecerdasan buatan untuk mengurai produk dari halaman mana pun
productapi.dev
ID
JA
© kzen.dev 2023
Sumber
salesforce.stackexchange.com
di bawah lisensi cc by-sa 3.0 dengan atribusi