Я создал класс объекта под названием «Образец» и хотел бы получить доступ к статической переменной, соответствующей входному параметру в методе, который создается объектом.Как вызвать статическую переменную объекта с использованием значения переменной String?
Например:
// ____ FILE 1: Sample.java _______
package com.JavaProject;
import java.util.ArrayList;
public class Sample {
String Sample_ID = "";
ArrayList<String> Assay_ID = new ArrayList<String>();
ArrayList<String> NCBI_ref = new ArrayList<String>();
ArrayList<String> Call = new ArrayList<String>();
ArrayList<String> Well = new ArrayList<String>();
}
// ____ FILE 2: Retreiver.java_______
public class Retreiver {
public static void indexer (String Field){
Sample sam = new Sample();
sam.Sample_ID = "SAMPLE1";
System.out.println(sam.Sample_ID); // This will print SAMPLE1 to console.
System.out.println(sam.{Field}); // I want this to print the value of the field as per the variable's name.
}
public static void main(String[] args) {
String Field = "Sample_ID";
indexer(Field);
}
}
Идентификатор как Retreiver.Indexer для распечатки статической переменной «Sample_ID», как определено во входном параметре метода «Поле».
I.E. Если я введу String Field = «Assay_ID», то индексщик распечатает образец Assay_ID
Заранее спасибо.
Отражение - ваш друг. –
Вы не можете сделать это без размышлений, но почему вы хотите сделать что-то подобное? –
У вас нет никаких статических переменных в вашем примере. Что заставляет вас думать, что «Sample_ID» является статическим? (Теперь было бы очень хорошее время, чтобы узнать и начинать следовать соглашениям об именах Java, кстати.) –