import java.util.*;
import java.text.*;
import java.lang.reflect.*;
public class Test {
String name;
public Test()
{
System.out.println("In Construtor");
}
public Test(String name)
{
this.name=name;
System.out.println("In Construtor paramitarized-----"+name);
}
public int q() {
System.out.println("working");
return 1;
}
public static void main(String args[] ) throws Exception {
Class c=Class.forName("Test");
Test t=(Test)c.newInstance();
t.q();
Constructor cons[]=c.getConstructors();
for(Constructor ci:cons)
ci.newInstance();
Constructor<?> pcon=c.getConstructor(String.class);
pcon.newInstance();
System.out.println(Test.class.getName());
}
}
Run Code Online (Sandbox Code Playgroud)
我只是尝试掌握Class和ClassLoader类的概念.现在为这一行Constructor<?> pcon=c.getConstructor(String.class);
显示IllegalArgumentException:为什么?
谢谢你Jon Skeet :)我改变了我的代码和它的工作
Class c=Class.forName("Test");
Test t=(Test)c.newInstance();
t.q();
Constructor<?> pcon=c.getConstructor(String.class);
pcon.newInstance("arijit");
System.out.println(Test.class.getName());
Run Code Online (Sandbox Code Playgroud)
但是当我使用-Xlint编译时,它给出了下面提到的警告:取消选中调用getConstructor(java.lang.Class ....)作为原始类型java.lang.Class的成员
这是什么意思?
#include<stdio.h>
#include<string.h>
int main(){
char array[]="Arijit Saha Student";
spaceremover(array);
getch();
return 1;
}
int spaceremover(char a[]){
int i;
// printf("L=%d",strlen(a));
char final[strlen(a)+1];
int count=0;
for(i=0;i<strlen(a);i++)
{
if(a[i]!=' ')
final[count]=a[i];
count++;
}
final[count]='\0';
int j=0;
for(j=0;j<strlen(final);j++)
printf("%c",final[j]);
// printf("\n%s",final);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
使用此示例代码输出Arijit.Saha
,但我想要的输出是ArijitSahaStudent
.为什么我得错了输出?在哪里.来自哪里?