Java中的新对象[]{}是什么意思?
在Java中,您可以执行以下操作:Java中的新对象[]{}是什么意思?,java,Java,在Java中,您可以执行以下操作: new Object[] { /* parameters separated by comma */}; 事实上,在Spring框架的准备好的声明中使用了这一点。 例如: 这叫什么 那里发生了什么事 您如何访问这些参数 新对象[]{/*参数,用逗号分隔*/} 创建对象的匿名数组 用逗号分隔的参数是数组的元素 元素数是数组的长度它用于初始化对象的数组,索引0处的值为3 Object[] objs = new Object[]{3,4}; 同: Object
new Object[] { /* parameters separated by comma */};
事实上,在Spring框架的准备好的声明中使用了这一点。
例如:
- 这叫什么
- 那里发生了什么事
- 您如何访问这些参数
新对象[]{/*参数,用逗号分隔*/}代码>
创建对象的匿名数组
用逗号分隔的参数是数组的元素
元素数是数组的长度它用于初始化对象的数组,索引0
处的值为3
Object[] objs = new Object[]{3,4};
同:
Object[] objs = new Object[2];
objs[0] = 3;
objs[1] = 4;
Object[] obj = new Object[1];
objs[0] = 3;
因此,您可以作为objs[0]访问它 创建对象的匿名数组
new Object[] { /* parameters separated by comma */};
在索引0处使用值3初始化数组
new Object[] { 3 }
最后一个示例与以下示例相同:
Object[] objs = new Object[2];
objs[0] = 3;
objs[1] = 4;
Object[] obj = new Object[1];
objs[0] = 3;
代码新对象[]{/*参数,用逗号分隔*/};
例如
newstring[]{“a”、“b”、“c”}
创建3个String类型的对象。您问过这个问题:
new Object[] { 3 }
正如其他答案所说,它正在创建和初始化一个对象数组,该数组将作为参数传递给queryForList
方法
数组的实际类型将是Object[]
,其长度将是1
,其第一个元素将是整数
对象。。。通过自动装箱int
值3
生成
你其余的问题对我来说没有多大意义:
- 这叫什么
它被称为“创建和初始化数组”
- 那里发生了什么事
它正在创建和初始化一个数组
- 您如何访问这些参数
嗯。。。如示例所示?按价值计算?通过索引数组?不清楚您在问什么。此代码可能被翻译为以下内容
private void queryforlist(string SQL, object[] parameters, Class c)
{
//parameters is an array of objects used to replace the ? caracteres in the sql
//text.
if (parameters != null)
{
//we can access parameters by index inside the method
for(int i=0; parameters.length; i++)
{
if (parameters[i] instanceof String )
{
//adding quotes to string for example
String param = "\""+parameters[i]+"\"";
} else if (parameters[i] instanceof Integer )
{
//Note is Integer not int because of AutoBoxing:
}
}
}
}
这对于接受动态数据类型(如整数、字符串等)并单独处理它们非常有用,例如:在Oracle数据库/提供程序的情况下,在日期中添加到_date()
它被定义为一个接受多个参数的对象数组,因此,可以按照您想要的方式构建查询
这一具体行:
new Object[] { 3 }
可以翻译为:
Object[] AnonymousArrayObject = new Object[1];
AnonymousArrayObject [0] = 3;
由于queryForList接收对象数组作为参数,因此有几种方法调用此方法:
示例1
getJdbcTemplate().queryForList(
"DELETE FROM foo WHERE id = ?",
new Object[] { 3 },
String.class
);
示例2
Object[] Parameters = new Object[1];
parameters[0] = 3;
getJdbcTemplate().queryForList(
"DELETE FROM foo WHERE id = ?",
Parameters,
String.class
);
示例3
Object[] Parameters = new Object[] { 3 };
getJdbcTemplate().queryForList(
"DELETE FROM foo WHERE id = ?",
Parameters,
String.class
);
示例1、2和3正在做相同的事情
示例4
getJdbcTemplate().queryForList(
"DELETE FROM foo WHERE id = ?",
null,
String.class
);
示例5
Object[] Parameters = null;
getJdbcTemplate().queryForList(
"DELETE FROM foo WHERE id = ?",
Parameters,
String.class
);
示例4和5正在做相同的事情
这叫什么
这被称为数组创建和初始化的缩写。因为您不需要声明变量来访问特定时刻的对象数组
那里发生了什么事
在回答中解释
您如何访问这些参数
在回答中解释
新对象[]
表示它是一个对象类型的数组newobject[]{3}
是一种用整数3分配此数组的简写方法。大多数情况下,此场景是在使用DAO示例或与数据库相关的应用程序时出现的
例如:-
========
public Emp getEmpById(int-id){
String sql=“select*from Emp99,其中id=?”;
返回template.queryForObject(sql,新对象[]{id},新
BeanPropertyRowMapper(Emp.class));
在上述示例查询中,参照动态用户请求ID号获取员工数据,所有员工都将其视为列表,分别为ID No动态响应请求的数据
,您在括号中初始化数组(<代码> {} /代码>)。在本例中使用整数3。数组没有方法add。我想您的意思是有一个列表…或objs[0]=3;objs[1]=4;
um…数组在Java中没有add
方法。我确信匿名类有$id
(其中id
是数字)在其类名的末尾,但我在“匿名数组”中没有看到这一部分。另外,我在官方Java教程中找不到这个术语。你有一些参考资料吗?我可以在哪里读到更多关于它们的资料?也许是Java语言规范?@Pshemo可能是,也可能会有所帮助。我已经看到了这一点,但我更喜欢官方来源。无论如何,感谢谷歌:)那里也没有关于匿名数组的信息。我想这只是comm发明的术语unity。无论如何,谢谢你的帮助。@Pshemo是的,这只是一种快速创建数组的简捷方法。它在一些书中提到过,比如