Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/01/2010, 07:43
Dav1d
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 19 años, 4 meses
Puntos: 1
Problema con String y Array

Hola, tengo este código:

Código:
package {
	public class Greeter {
		/**
		* Defines the names that should receive a proper greeting.
		*/
		public static var validNames:Array=["Sammy","Frank","David"];
		/**
		* Builds a greeting string using the given name.
		*/
		public function sayHello(userName:String = ""):String {
			var greeting:String;
			if (userName=="") {
				greeting="Hello. Please type your user name, and then press the Enter key.";
			} else if (validName(userName)) {
				greeting="Hello, "+userName+".";
			} else {
				greeting="Sorry, "+userName+", you are not on the list.";
			}
			return greeting;
		}
		/**
		* Checks whether a name is in the validNames list.
		*/
		public static function validName(inputName:String = ""):Boolean {
			
			if (validNames.indexOf(inputName)>-1) {
				return true;
			} else {
				return false;
			}
		}
	}
}
pues bien, si a la función validName, le paso uno de los nombres del Array, me devuelve false, cuando debería devolverme true.

y es que si hago esto, siendo el valor de inputName "David", no se cumple la condición, en java un lenguaje en el que tengo más experiencia, se utiliza equals, pero para el ejemplo anterior, valueOf(inputString), necesito una alternativa o una explicación de que hacer en estos casos:

Código:
if (inputName == validName[2] ){
}
Saludos