web-dev-qa-db-fra.com

Java ne rien faire

Quel est l'équivalent de pass de Python en Java? Je me rends compte que je pourrais utiliser continue ou ne pas compléter le corps d'une instruction pour obtenir cet effet, mais j'aime avoir une instruction pass.

25
goodcow

Utilisez simplement un point-virgule ;, cela a le même effet.

39
James

Si vous voulez quelque chose de notable, vous pouvez utiliser

assert true;

Cela vous permettra d'avoir quelque chose qu'un lecteur peut reconnaître ou qui peut être recherché.

17
sabbahillel
;

; est l'instruction vide. Habituellement, vous n'en avez pas besoin - vous pouvez simplement ne rien mettre entre crochets pour une boucle vide - mais cela peut être utile.

Il n'y a pas d'équivalent (strict) car dans Java vous devez spécifier le type de retour pour la méthode dans sa déclaration qui est ensuite vérifiée par rapport à un type calculé de l'instruction return suivante. Donc pour les méthodes qui ont un type de retour - ni semicollon ni laisser des accolades vides ne fonctionnera pas;

J'utilise personnellement: throw new Java.lang.UnsupportedOperationException("Not supported yet."); - ceci est consultable, vous avertit que la méthode n'est pas implémentée et est compatible avec les types de retour stricts.

Je pense qu'il n'y a pas de construction dans Java identique à passer en Python. C'est principalement parce que Java est un langage typé où Python est un langage à typage dynamique. Plus encore lorsque vous définissez une méthode/fonction. Dans ce contexte, les réponses fournies sont valides/correctes uniquement pour une méthode qui renvoie void.

Par exemple pour une fonction Python

def function_returns_void:
    pass

vous pouvez avoir une Java

public void function_returns_void(){}

ou

public void function_returns_void(){;}

mais quand une méthode est censée retourner une valeur, alors que pass peut toujours fonctionner en Python, on sera bloqué avec un problème de compilation quand on ne retournera pas de valeur.

0
Gro

J'utilise normalement quelque chose comme:

"".isEmpty(); // do nothing

Il est utile de pouvoir disposer d'une ligne de code qui ne fait rien lors du débogage. Vous pouvez mettre un point d'arrêt sur cette ligne, même s'il s'agit généralement d'un bloc de code vide (par exemple, un bloc catch vide, etc.), ce qui peut créer une confusion quant à l'emplacement du point d'arrêt.

0
Adam Burley