Java je jedním z nejoblíbenějších programovacích jazyků a pro každého vývojáře je důležité znát mnoho triků a triků, které vám pomohou usnadnit práci a zlepšit efektivitu kódování. V jednom z těchto případů může být nutné uvést název proměnné na obrazovku. I když se to na první pohled může zdát jako snadný úkol, ve skutečnosti vyžaduje některé další znalosti a dovednosti.
V tomto článku se podíváme na několik způsobů, jak odvodit název proměnné v Javě, a řekneme vám o úskalích, která se mohou cestou setkat.
Prvním způsobem je použití reflexe. Reflexe v Javě umožňuje analyzovat a upravovat kód během jeho provádění. Pro získání názvu proměnné můžeme použít metodu getclass (), která vrací název třídy. Dále můžeme použít metodu getDeclaredFields () k získání seznamu všech polí třídy, včetně jejich názvů. To nám umožní získat název proměnné, pokud je třídním polem.
- Čitelnost kódu: Použití smysluplných a srozumitelných jmen proměnných umožňuje snazší pochopení kódu, zejména pro ostatní vývojáře nebo sebe v budoucnu. Když název proměnné odráží jeho účel, kód se stává mnohem srozumitelnějším a náklady na jeho analýzu a pochopení se snižují.
Často je však nutné odvodit nejen hodnotu proměnné, ale také její název. To může být užitečné například při ladění programu nebo při práci s více proměnnými, aby bylo snazší sledovat jejich hodnoty.
Chcete-li zadat název proměnné, můžete použít následující kód:
String name = "John";System.out.println("name: " + name);
Při provádění tohoto kódu se tedy na obrazovku zobrazí následující:
name: John
int x = 10;System.out.println("Имя переменной: x");
Tento kód zobrazí následující ladicí zprávu:
Имя переменной: x
int y = 20;System.out.println("Имя переменной: " + getClass().getSimpleName());
Tento kód zobrazí následující ladicí zprávu:
Имя переменной: y
Použití knihovny Reflection k získání názvu proměnné
V Javě lze k získání názvu proměnné použít knihovnu Reflection. Reflection umožňuje analyzovat informace o třídách, rozhraních, metodách a polích během provádění programu.
Chcete-li získat název proměnné pomocí Reflection, musíte postupovat podle následujících kroků:
-
Připojte knihovnu Reflection do svého projektu:
import java.lang.reflect.Field;
Class cls = obj.getClass();Field field = cls.getDeclaredField("variableName");String fieldName = field.getName();
try/ Ваш код> catch (NoSuchFieldException e)
V důsledku těchto kroků získáte název proměnné jako řádek, který můžete dále použít ve svém programu.
Použití rámce Log4j k zápisu názvu proměnné do protokolu
Chcete-li zapisovat název proměnné do protokolu pomocí Log4j, musíte provést následující:
-
Přidejte závislost Log4j do souboru pom.xml vašeho projektu:
org.apache.logging.log4j log4j-core 2.14.1
[%t] %-5level %marker %logger - %msg%n"/>
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;public class MyClass ", varName);>>