「替代java参数」java可变参数使用

博主:adminadmin 2022-12-05 12:51:10 64

本篇文章给大家谈谈替代java参数,以及java可变参数使用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中,一个函数的参数怎样用一个字符串替代表示?

/*这是一个静态函数,不用声明对象就可以用的,如你的类名为Test,在任何情况下都可以调用Test.isHave函数*/

public static boolean isHave(String[] strs,String s){

/*此方法有两个参数,第一个是要查找的字符串数组,第二个是要查找的字符或字符串

* */

for(int i=0;istrs.length;i++){

if(strs[i].indexOf(s)!=-1){//循环查找字符串数组中的每个字符串中是否包含所有查找的内容

return true;//查找到了就返回真,不在继续查询

}

}

return false;//没找到返回false

}

public static void main(String[] args)

{

String[] strs=;//定义字符串数组

if(isHave(strs,"aaaa")){//调用自己定义的函数isHave,如果包含则返回true,否则返回false

System.out.println("包含");//打印结果

}else{

System.out.println("不包含");//打印结果

}

}

请问什么是Java中的参数。

首先你得知道什么是方法吧,要是这个不懂,那下面我说的估计你也不会明白了,就直接无视吧。

例如我自己写一个方法,比如说这个方法属于test类,像这样

public static void myMethod(String str) {

System.out.println(str);

}

在我调用这个方法的时候,我就需要传递一个参数给这个方法,比如这样。

test.myMethod("let's do it");

那么这个"let's do it"就是参数,如果你想要用myMethod这个方法,必须要给一个string型的参数,不然编译器就不会让你通过,你的代码会报错的。参数作用无非是将你需要用的东西传递给方法,在方法里面处理这个参数,比如说你要输出,或者要在方法里面做四则运算等等。

这个问题其实不好说,因为实在是很简单,但是要说明这个问题就会引出一大堆问题,什么是方法,什么是类,static是什么,void是干啥的,这玩意我解释不起,我只能尽我所能简单说说。如果你要真想学java,先找本书看看吧,我觉得你可能没看过哪怕是一本java基础的书,要不然也不会问这个问题。

java的类型参数是什么意思

应该是泛型中提到的一个概念,T 表示传入任意参数,在给一个泛型类初始化的时候我们要给它传入具体的值,一般是一个类型,如String,Integer或者是一个java bean类型的数据,这时候,String是作为一个参数传过去的,但它表示的是一个字符串类型,也就是传入了String类型的参数。此时String就是一个参数,一个类型参数。如Liststring testList = new Liststring(); 一个泛型数组,我们要规定该list中只能传入字符串怎么办,这时就给他传入一个String类型参数,只要传入其他类型就会在编译期报错,这也是泛型的一个优点。

java 参数传递问题

Java的参数传递总结:

JAVA的参数传递总是传"值",但是传值方式也分为两种方式,它们是靠传递参数的类型区分的。这两种类型分别为JAVA的基础类型和Object(对象)类型;基础类型包括boolean,byte,short,char,int,long,float,double,而Object就是对象,如数组.在参数为基础类型时,见代码:

public class A{

public static void main(String arg[]){

int a=3;

method1(a);

System.out.println(a);

}

public static void method1(int a){

a=4;

}

}

此时结果的输出将是1,而且只要你的值在Main函数中没变,a的值不管怎么传都不回变,这是因为a是传值,而这个"值"是a的一个拷贝,a的值在传递后的改变只是改变了a的拷贝的内容,并没有改变真正的a的值;对于参数为对象

public class A{ public class A{

public static void main(String arg[]){ public static void main(String arg[]){

int[] a=new int[1]; int[] a=new int[1];

a[0]=3; a[0]=3;

method1(a); method1(a);

System.out.println(a[0]); System.out.println(a[0]);

} }

public static void method1(int[] a){ public static void method1(int[] a){

a[0]--; a=new int[0];

} a[0]=4;

} }

}

左边的结果将是2,右边的结果将是3(未变),原因是:在传递的参数为对象时,这个传递的"值"中放的内容实际上是对向所在的地址,左边的情况是指针定位到对象的地址后,在上面把内容给改了,所以数组的值后会改变,而右边的情况为给对象新分配了一个指针到新的地址上面去,所以所有的操作都在新的地址上面,并不会影响原来的值。注:对于String,Interger,Boolean,Double等的系统对象,它们虽然是Object,但是任何方式的传递参数的值得改变并不会影响原来的值。

java中log4j源码中是怎么把替换为后面的参数的

内部实现是做了替换的。。

Map valuesMap = HashMap();

valuesMap.put("animal", "quick brown fox");

valuesMap.put("target", "lazy dog");

String templateString = "The ${animal} jumped over the ${target}.";

StrSubstitutor sub = new StrSubstitutor(valuesMap);

String resolvedString = sub.replace(templateString);

替代java参数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java可变参数使用、替代java参数的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-05,除非注明,否则均为首码项目网原创文章,转载请注明出处。