如何访问变量的原始值

时间:2012-09-19 04:31:46

标签: java

假设我有这段代码

public static long number;
public static void main(String args[]) {
    String str1 = args[0];
    System.out.println("str1 is = " + str1);
    long number = Long.parseLong(str1);
    System.out.println("number value is = " + number);
}

public static void test1(){
    System.out.println("number value inside test1 is = " + number);
}

假设我将12345作为参数传递,所以我的o / p将是

 str1 is  12345
 number value is  12345
 number value inside test1 is  0

我想要的是能够在test1方法中访问arg [0](用户参数)或数字(12345)的原始值。请帮我做。谢谢!

3 个答案:

答案 0 :(得分:3)

将您的班级number设置为已解析的str1值。目前,您设置的局部字段没有超出main方法的范围。

使用:

number = Long.parseLong(str1);

而不是:

long number = Long.parseLong(str1);

答案 1 :(得分:0)

为此您需要使用全局变量,或者需要将值传递给test1函数。

您尝试使用全局变量,但初始化时不需要在其前面添加类型,因为它变为本地变量。所以只需使用:

number = Long.parseLong(str1);

以下是将值传递给test1时的代码:

public static void main(String args[]) {
    String str1 = args[0];
    System.out.println("str1 is = "+str1);
    long number = Long.parseLong(str1);
    System.out.println("number value is = "+number);
}

public static void test1(long number){
     System.out.println("number value inside test1 is = "+number);
}

然后你只需要使用

test1(number);

main()方法中的某个地方。

答案 2 :(得分:0)

long number = Long.parseLong(str1);

执行上述操作声明另一个名为 number的变量。

执行此操作以访问Class variable(即静态字段)

number = Long.parseLong(str1);