Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-关键值决策_Java - Fatal编程技术网

Java-关键值决策

Java-关键值决策,java,Java,将以下业务规则存储在文件中,以便将其应用于作为键的输入值的最佳方式是什么 Key-INDIA; Value-Delhi. Key-Australia; Value-Canberra. Key-Germany, Value-Berlin. 一种解决方案:-Xml <Countries> <India>Delhi</India> <Australia>Canberra</Australia> <Germany>Be

将以下业务规则存储在文件中,以便将其应用于作为键的输入值的最佳方式是什么

Key-INDIA; Value-Delhi.
Key-Australia; Value-Canberra.
Key-Germany, Value-Berlin.
一种解决方案:-Xml

<Countries>
  <India>Delhi</India>
  <Australia>Canberra</Australia>
  <Germany>Berlin</Germany>
</Countries>

德里
堪培拉
柏林
因为规则的数量将大于1000;使用Map实现它是不可能的

问候,,
Shreyas.

使用
java.util.Properties
从文件中写入和读取:

Properties p = new Properties();
p.setProperty("Australia", "Canberra");
p.setProperty("Germany", "Berlin");

File f = new File("my.properties");
FileOutputStream fos = new FileOutputStream(f);
p.store(fos, "my properties");

使用
p.load()
从文件中读取它们,并在加载后使用
p.getProperty()
查询它们。

使用
java.util.Properties
从文件中写入和读取:

Properties p = new Properties();
p.setProperty("Australia", "Canberra");
p.setProperty("Germany", "Berlin");

File f = new File("my.properties");
FileOutputStream fos = new FileOutputStream(f);
p.store(fos, "my properties");

使用
p.load()
从文件中读取它们,并在加载后使用
p.getProperty()
查询它们。

使用
.properties
文件并将它们存储在键值对中

India=Delhi.
Australia=Canberra.
Germany=Berlin.
并使用
java.util.Properties
按照hmjd的指示读取该文件

例如:

       Properties prop = new Properties();      
        try {
               //load a properties file
            prop.load(new FileInputStream("countries.properties"));

               //get the property value and print it out
                System.out.println(prop.getProperty("India"));
            System.out.println(prop.getProperty("Australia"));
            System.out.println(prop.getProperty("Germany"));

        } catch (IOException ex) {
            ex.printStackTrace();
        }

使用
.properties
文件并将它们存储在键值对中

India=Delhi.
Australia=Canberra.
Germany=Berlin.
并使用
java.util.Properties
按照hmjd的指示读取该文件

例如:

       Properties prop = new Properties();      
        try {
               //load a properties file
            prop.load(new FileInputStream("countries.properties"));

               //get the property value and print it out
                System.out.println(prop.getProperty("India"));
            System.out.println(prop.getProperty("Australia"));
            System.out.println(prop.getProperty("Germany"));

        } catch (IOException ex) {
            ex.printStackTrace();
        }
创建属性文件(如file.properties):

然后在代码中:

public static void main(String[] args) {
            Properties prop = new Properties();
            try {
                    prop.load(new FileInputStream("file.properties"));
                    String value= prop.getProperty("INDIA");
                    ...

            } catch (Exception e) {
            }
    }
创建属性文件(如file.properties):

然后在代码中:

public static void main(String[] args) {
            Properties prop = new Properties();
            try {
                    prop.load(new FileInputStream("file.properties"));
                    String value= prop.getProperty("INDIA");
                    ...

            } catch (Exception e) {
            }
    }
你看过吗?这样,您就可以在配置中创建一个映射,并存储每个键的对象定义。e、 g

   <map>
      <entry key="India" value="Delhi">
   </map>

您谈论的是业务规则,但目前您只是存储一个键/值对。如果这些规则变得更加复杂,那么简单的键/值对就不够了。所以,也许你需要一些类似的东西:

   Map<String, Country>
Map
在您的代码中,“国家”是一个带有(目前)首都的对象,但在将来它将包含(比如)位置、国际电话号码前缀或税收规则等。在春季,它类似于:

  <map>
      <entry key="India" ref="india"/>
  </map>

  <!-- create a subclass of Country -->
  <bean id="india" class="com.example.India">

我意识到这比这里的其他建议要复杂得多。然而,由于您正在谈论规则,我怀疑您将寻求配置/定义某种行为。您可以使用属性(或类似的属性)来实现这一点,但最终可能会为规则的不同行为方面设置不同的属性集。这很快就变成了一场真正的维护噩梦。

你看过吗?这样,您就可以在配置中创建一个映射,并存储每个键的对象定义。e、 g

   <map>
      <entry key="India" value="Delhi">
   </map>

您谈论的是业务规则,但目前您只是存储一个键/值对。如果这些规则变得更加复杂,那么简单的键/值对就不够了。所以,也许你需要一些类似的东西:

   Map<String, Country>
Map
在您的代码中,“国家”是一个带有(目前)首都的对象,但在将来它将包含(比如)位置、国际电话号码前缀或税收规则等。在春季,它类似于:

  <map>
      <entry key="India" ref="india"/>
  </map>

  <!-- create a subclass of Country -->
  <bean id="india" class="com.example.India">


我意识到这比这里的其他建议要复杂得多。然而,由于您正在谈论规则,我怀疑您将寻求配置/定义某种行为。您可以使用属性(或类似的属性)来实现这一点,但最终可能会为规则的不同行为方面设置不同的属性集。这很快就会成为一个真正的维护噩梦。

使用.properties文件并将它们存储在键值对中。使用下面建议的属性就可以了。但与您自己的注释不同的是,您将在以后使用映射在内存中访问它(例如java.util.HashMap)。使用.properties文件并将它们存储在键值对中。使用下面建议的属性就可以了。但与您自己的评论不同的是,您将使用一个映射来访问它(例如java.util.HashMap),我承认这是一个更复杂的解决方案。但是(正如我强调的)他需要定义业务规则,并且只有最简单的业务规则才能在属性文件中指定。我承认这是一个更复杂的解决方案。但是(正如我强调的)他需要定义业务规则,并且在属性文件中只能指定最简单的业务规则。