PHP的数组实际上并不是数组,它们是hash tables。 Java的版本是HashMap。
HashMap<String, String> data = new HashMap<String, String>();
data.put("Name", "John");
// etc.
System.out.println(data.get("Name"));
你也应该看看成类,因为这非PHP程序员通常怎么做这样的事情:
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return this.name;
}
// etc.
}
然后:
class SomeClass {
public static void main(String[] args) {
Person person = new Person("John", 16);
HashMap<String, Person> people = new HashMap<String, Person>();
people.put(person.getName(), person);
}
}
类可以让事情变得简单得多对于大型项目,因为它们可以做的不仅仅是持有价值:
class Person {
private String firstName;
private String lastName;
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
/**
* Returns a person's full name (first and last name), without
* storing it as a seperate variable internally.
*/
public String getName() {
return this.firstName + " " + this.lastName;
}
public String getFirstName() {
return this.firstName;
}
// etc.
}
另外,你会得到类型安全。在编译时找出问题要好得多,因为在部署应用程序之前而不是之后可以解决它们。