Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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_Types - Fatal编程技术网

Java 如何传递字符串、日期等数据类型

Java 如何传递字符串、日期等数据类型,java,types,Java,Types,假设我有一个方法声明,如: private void someMethod(final String someKey, final Object dataType){ // Some code } 我想这样称呼它: someMethod("SomeKey", String); someMethod("SomeKey", Date); 我可以用不同的方式来实现它,比如用不同的值来声明一个int,表示类型、枚举等等 但是我能把字体本身传过去吗 编辑: 具体来说,我可以这样做: someMet

假设我有一个方法声明,如:

private void someMethod(final String someKey, final Object dataType){
  // Some code
}
我想这样称呼它:

someMethod("SomeKey", String);
someMethod("SomeKey", Date);
我可以用不同的方式来实现它,比如用不同的值来声明一个int,表示类型、枚举等等


但是我能把字体本身传过去吗

编辑:

具体来说,我可以这样做:

someMethod("SomeKey", 1); // 1 = String
someMethod("SomeKey", 2); // 2 = Date

这看起来不太好。

如果希望将对象类型作为参数传递,可以通过传递
java.lang.Class

i、 e

这就是你要找的吗

编辑:合并马克的评论

你可以这样称呼它

someMethod( "keyA", Date.class );
someMethod( "keyB", String.class );

等等。

如果希望将对象类型作为参数传递,可以通过传递
java.lang.Class

i、 e

这就是你要找的吗

编辑:合并马克的评论

你可以这样称呼它

someMethod( "keyA", Date.class );
someMethod( "keyB", String.class );
等等。

您可以使用instanceof运算符: 例如:

但这是一种糟糕的样式,因为您没有savety类型,最好重载该方法:

private void someMethod(String someKey, String dataType) {
    System.ount.println("Called with a String");
}

private void someMethod(String someKey, Date dataType) {
    System.ount.println("Called with a Date");
}
您可以使用instanceof运算符: 例如:

但这是一种糟糕的样式,因为您没有savety类型,最好重载该方法:

private void someMethod(String someKey, String dataType) {
    System.ount.println("Called with a String");
}

private void someMethod(String someKey, Date dataType) {
    System.ount.println("Called with a Date");
}
您可以通过“调用”来获取类型。对于类名,它将返回表示该类型的实例

private void someMethod(final String someKey, final Class<?> dataType){
// Some code
}

someMethod("SomeKey", String.class);
someMethod("SomeKey", Date.class);
private void someMethod(最终字符串someKey,最终类数据类型){
//一些代码
}
someMethod(“SomeKey”,String.class);
someMethod(“SomeKey”,Date.class);
您可以通过“调用”来获取类型。对于类名,它将返回表示该类型的实例

private void someMethod(final String someKey, final Class<?> dataType){
// Some code
}

someMethod("SomeKey", String.class);
someMethod("SomeKey", Date.class);
private void someMethod(最终字符串someKey,最终类数据类型){
//一些代码
}
someMethod(“SomeKey”,String.class);
someMethod(“SomeKey”,Date.class);

告诉我们问题,而不是答案。告诉我们你想要完成什么,而不是你认为你需要做什么。“但是我能通过类型本身吗?”-我想这就是问题所在。“我可以用不同的方法来实现它,比如用不同的值声明一个int来表示类型、枚举或类似的东西。”-这样你就不会给我任何选择。你是想把不同类型的对象传递给同一个方法,还是想把某个类型的信息传递给该方法?没关系,但当你没有给出背景或说出你真正想要实现的目标时,你就严重限制了你从询问我们社区中获得的好处。如果我们知道您想要实现什么,我们可能会建议使用第三方库,我们可能会列出危险的注意事项,等等。也许您正在尝试的操作已经得到某些Java库函数的支持,而您却不知道!告诉我们问题,而不是答案。告诉我们你想要完成什么,而不是你认为你需要做什么。“但是我能通过类型本身吗?”-我想这就是问题所在。“我可以用不同的方法来实现它,比如用不同的值声明一个int来表示类型、枚举或类似的东西。”-这样你就不会给我任何选择。你是想把不同类型的对象传递给同一个方法,还是想把某个类型的信息传递给该方法?没关系,但当你没有给出背景或说出你真正想要实现的目标时,你就严重限制了你从询问我们社区中获得的好处。如果我们知道您想要实现什么,我们可能会建议使用第三方库,我们可能会列出危险的注意事项,等等。也许您正在尝试的操作已经得到某些Java库函数的支持,而您却不知道!当你不打算处理不属于你的instanceof条件的东西时,为什么你在这里需要类型安全?当你不打算处理不属于你的instanceof条件的东西时,为什么你在这里需要类型安全?在构造上很昂贵?这是一个类文本()。这是编译时的事情。很难弄清楚你在问什么。你能描述一下你想让你的方法做什么吗,即使是在一个基本的水平上?在构造上是昂贵的吗?这是一个类文本()。这是编译时的事情。很难弄清楚你在问什么。你能描述一下你希望你的方法做什么,即使是在一个基本的层面上?