처음 접하게된 Java언어 입니다. 지금 까지 배운 내용들을 기록하고 많이 참고하려고 합니다. 한달에 한번 이상은 꼭 배우고 정리하려 합니다.
ConfigurationSection configSection = plugin.getConfig().getConfigurationSection("section");
for (String key : configSection.getKeys(false)) {
int getSection = plugin.getConfig().getInt("configSection1." + key + "configSection2");
}
기존에는 값을 정하여 사용하여 제한이 걸려있었다. 하지만 getKey함수를 알고 나서 config의 하윗값을 가져오기 쉬워졌다. 숫자 뿐만 아닌 원하는 위치에 key값을 배치하면 그 path값에 있는 모든 data를 불러온다.
참고 :
정해진 값을 배치 시 단점만 있는 것은 아니다. 그 값을 초과하지 못하도록 막아두는 것이며 이는 메모리 사용량이 정해진다. 하지만 getKeys 함수를 사용 시 값을 원하는 대로 값을 만들 수 있으며 값이 많아지면 컴퓨터 성능에 영향을 끼칠 수 있다.
String key = "2023-08-07 교보문고에서 Java Optimizing책 구매함";
*if* (!Pattern.matches("-?\\\\d+(\\\\.\\\\d+)?", key)) {
//TODO
}
"-?\\d+(\\.\\d+)?" ← 숫자를 판별하는 정규식이다.
23.9.17 수정 ) 함수로 만들면 좋을 것 같다.
private int getNextAvailableIndex() {
int nextAvailableIndex = 0;
while (plugin.getConfig().getString("configSection." + nextAvailableIndex) != null) {
nextAvailableIndex++;
}
return nextAvailableIndex;
}
존재하지 않는 값은 그 부분부터 먼저 채우고 값 증가 예시 : 1, 2, 4, 8이 있을 경우 3 → 5 → 6 → 7→ 9→ 10….
use to example:
String name = args[1];
int nextAvailableIndex = getNextAvailableIndex();
plugin.getConfig().set("configSection." + nextAvailableIndex, name);
plugin.saveConfig();
23.9.17 수정 ) 예시로 private으로 되어있지만 사용에 따라 변화시키자