Bonjour, je suis nouveau sur le profil et je débute en Java.

Je me demandais si il n'y avait pas une solution plus rapide afin de retourner un tableau de byte à partir d'une adresse IPV4.

Le code est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private static byte[] question4(String ipv4) {
		byte[] tab = new byte[4];
 
		var p = Pattern.compile("^([0-9]{1,3}\\.){3}[0-9]{1,3}$");
		var m = p.matcher(ipv4);
 
		if(m.find()) {
			String[] splited = ipv4.split("\\.");
			int[] toBeNumber = new int[splited.length];
 
			for(int i = 0; i < splited.length; i++) {
				toBeNumber[i] = Integer.parseInt(splited[i]);
				tab[i] = (byte)toBeNumber[i];
				System.out.println(tab[i]);
			}
		}
		return tab;
	}
 
	public static void main(String[] args) {
		question4("174.12.254.1");
	}
Ca me retourne le tableau composé de :
-82
12
-2
1

Mon prof m'a dit qu'avec Pattern, cela me permettait de récupérer directement les chiffres, mais je ne vois pas.

Merci d'avance.