{"id":153,"date":"2017-01-11T22:49:43","date_gmt":"2017-01-11T22:49:43","guid":{"rendered":"https:\/\/blog.jkanework.com\/post.php?idpost=153"},"modified":"2017-01-11T22:49:43","modified_gmt":"2017-01-11T22:49:43","slug":"comparar-cadenas-con-java","status":"publish","type":"post","link":"https:\/\/blog.jkanetwork.com\/?p=153","title":{"rendered":"Comparar cadenas con Java"},"content":{"rendered":"<p>Hace poco tiempo descubr&iacute; que no se pueden comparar cadenas en Java con el doble igual tradicional (hay situaciones en las que s&iacute; como que las dos variables String sean referencias al mismo objeto)<\/p>\n<p>Para esto, un compa&ntilde;ero de clase me coment&oacute; que la clase String ten&iacute;a dos m&eacute;todos para comparar cadenas, estos son <em>comparteTo <\/em>y <em>compareToIgnoreCase <\/em>aunque tambi&eacute;n se puede hacer con la funci&oacute;n <em>equals <\/em>aunque est&aacute; funciona de manera distinta.<\/p>\n<p>Tanto <em>compareTo <\/em>como <em>comparteToIgnoreCase<\/em> funcionan de manera similar a la funci&oacute;n de C <em>strcmp <\/em>y <em>strncmp<\/em> de string.h. As&iacute;, si son iguales devuelve 0, si la cadena es m&aacute;s peque&ntilde;a que la pasada por par&aacute;metro devuelve un n&uacute;mero menor de 0, tanto menor como la diferencia entre las dos cadenas, si por su lado es mayor la cadena que la pasada por par&aacute;metro entonces la diferencia es positiva. Con <em>equals<\/em> pasa algo distinto, <em>equals<\/em> no solo es una funci&oacute;n para comparar cadenas si no para comparar que dos objetos, sean cuales sean tienen los mismos valores, para ello devuelve <em>true<\/em> si son iguales y <em>false<\/em> si no.<\/p>\n<p>A continuaci&oacute;n varios ejemplos.<\/p>\n<pre class=\"language-java\"><code>String cad1=scan.nextLine();\nString cad2=scan.nextLine();\nif(cad1.comparteTo(cad2)&gt;0){\n  System.out.print(cad1 + \" es m&aacute;s grande que \" + cad2);\n}\n<\/code><\/pre>\n<pre class=\"language-javascript\"><code>if(args[0].equals(OPCION1) || args[0].comparteToIgnoreCase(OPCION1)==0{\n  funcion1();\n}<\/code><\/pre>\n<p>Para m&aacute;s informaci&oacute;n visita https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/lang\/String.html<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace poco tiempo descubr&iacute; que no se pueden comparar cadenas en Java con el doble igual tradicional (hay situaciones en las que s&iacute; como que las dos variables String sean referencias al mismo objeto) Para esto, un compa&ntilde;ero de clase me coment&oacute; que la clase String ten&iacute;a dos m&eacute;todos para comparar cadenas, estos son comparteTo [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-153","post","type-post","status-publish","format-standard","hentry","category-informatica"],"_links":{"self":[{"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/posts\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=153"}],"version-history":[{"count":0,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/posts\/153\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}