2 sinat 33415638 sinat_33415638 于 2016.03.01 17:47 提问

小白求助,静态变量重新赋值的问题

写了一个程序,是从外面获取文件路径,然后进行处理,路径我用的是静态变量,根据路径获取的配置文件也设的静态变量。我现在想循环执行这个程序,每次路径都从外面获取,该怎么办?我想重新赋值这个静态变量该怎么做?

7个回答

qq_20039385
qq_20039385   2016.03.01 20:37
已采纳

首先fileName不应该定义在UseProcess类里面,直接调用fileName()方法用变量接受就可以啦,再说null的问题:fileName可能在调用fileNmae()方法返回来的值就是null,打断点到这个方法里面看下。还有不建议定义一个成员变量叫fileName,再定义一个局部变量也叫fileName,从命容易搞混淆。成员变量最好加上修饰符(public或其他修饰符,根据需要来定)或提供get、set方法。

sinat_33415638
sinat_33415638 我用的这个变量定义成静态的吗?我之后的方法要用到之个变量,我把他当参数传进去?
2 年多之前 回复
qq_14809801
qq_14809801   2016.03.01 17:56

你可以把代码图片贴出来

sinat_33415638
sinat_33415638 放在下面了,帮忙看一下呗,我重新赋值,可是还是取得null值
2 年多之前 回复
qq_14809801
qq_14809801   2016.03.01 17:59

为什么要使用静态变量?变量就可以了啊,这要用流去读取文件,然后转换成字符串,然后再用正则表达式把所有路径匹配出来到一个数组里,最后在循环访问

sinat_33415638
sinat_33415638 放在下面了,帮忙看一下呗,我重新赋值,可是还是取得null值
2 年多之前 回复
sinat_33415638
sinat_33415638 放在下面了,帮忙看一下呗,我重新赋值,可是还是取得null值
2 年多之前 回复
sinat_33415638
sinat_33415638   2016.03.01 19:23

![![![图片说明](https://img-ask.csdn.net/upload/201603/01/1456831377_43531.png)图片说明](https://img-ask.csdn.net/upload/201603/01/1456831370_860659.png)图片说明](https://img-ask.csdn.net/upload/201603/01/1456831362_219712.png)图片说明

sinat_33415638
sinat_33415638   2016.03.01 19:23

图片说明

sinat_33415638
sinat_33415638   2016.03.01 19:23

图片说明

sinat_33415638
sinat_33415638   2016.03.01 19:24

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于静态变量“赋值无效问题”的探讨结果
吐槽一下百度空间就是渣,换空间鸟。。。。 今天遇到一个关于静态变量“赋值”,值不变的问题。顿时觉得不可理解,很是奇怪 关于静态变量问题的探讨     在这里是static int num = 1 在第一次赋值之后,貌似num = 1 这句话就没了作用,让人觉得“很奇怪”,虽然大家都知道,static 储存在静态内存里面,但是怎么就不管那个赋值语句了呢?   首先,要搞清楚这个问题
Java静态变量加载赋值问题
static static final
Java_基础_静态变量一定要先声明后赋值
这标题看着让人很纳闷,什么叫做变量一定要先声明后赋值?Java中的变量不都是先声明后使用的吗?难道还能先使用后声明?能不能暂且不说,我们先来看一个例子,代码如下:package deep; public class Client { public static int i = 1; static { i = 100; } public static vo
静态变量一定要先声明后赋值
标题看着让人很纳闷,什么叫做变量一定要先声明后赋值?Java中的变量不都是先声明后使用的吗?难道还能先使用后声明?能不能暂且不说,我们先来看一个例子,代码如下: public class Client {       public static  int i=1;       static{           i=100;       }       public static void ma
static变量的初始化和赋值的区别
事实胜于雄辩,啥也别说,code说明问题: int add(int a, int b) { static int result = a + b; return result; } int _tmain(int argc, _TCHAR* argv[]) { int a = add(2, 1); int b = add(3, 4); if ( a== b) cout << 1
Java静态方法间接赋值赋值非静态变量
在编程的过程中有时候我们需要通过一个静态的方法给静态的变量赋值,但是如果是直接赋值,编译器会直接报错:如下: 想必原因大家很清楚了,Cannot make a static reference to the non-static field mouthColor ;但是可以通过以下的方法间接赋值: public class Duck { public String
c# winform 关于给静态全局变量赋值的问题
C#中是没有所谓的全局变量的.要构造出类的属性作为全局变量 例如:新建类GlobalParams可以在类中这样写:public static string user = ""; //定义变量 public GlobalParams () { user ="abcd";//赋值构造 } public string User { get { return user ; } set { user =va
java中static修饰变量默认赋值问题
package org.roy.test; public class Test { public static int num; public static char c; public static boolean flag; public static float fl; public static long l; public static short s; public s
单例模式中静态变量初始化与不初始化有什么区别?
单例模式中静态变量初始化与不初始化有什么区别?  public class Singleton {  private static Singleton obj = new Singleton();  public static int counter1;  public static int counter2 = 0;  private Singleton(){  counter1++
android 退出应用程序时的static变量问题
在做单词卡项目时发现一个奇怪的问题,应用程序退出后,static变量的值仍然保留。上网查阅资料后发现,在应用程序退出后,static变量不能马上销毁,仍然保留当前值。为了解决该问题,只需要在onCreate方法中,重新对静态变量赋值即可。