처음 접하게된 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를 불러온다.

참고 :

Untitled

정해진 값을 배치 시 단점만 있는 것은 아니다. 그 값을 초과하지 못하도록 막아두는 것이며 이는 메모리 사용량이 정해진다. 하지만 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으로 되어있지만 사용에 따라 변화시키자