一旦加载了类,有没有办法再次调用静态初始值设定项?
public class Foo {
static {
System.out.println("bar");
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我需要调用静态初始化程序,因为我没有编写原始类,我需要调用的逻辑是在静态初始化程序中实现的.
我试图使用os.system()来调用另一个接受输入和输出文件的程序.由于文件夹名称较长,我使用的命令约为250个字符.
当我尝试调用命令时,我收到一个错误:The input line is too long.
我猜是有一个255 character limit(它使用C系统调用构建,但我也找不到限制).
我试图改变与目录os.chdir(),以减少文件夹小道长,但是当我尝试使用os.system()与"..\folder\filename"它显然不能处理的相对路径名.有没有办法绕过这个限制或让它识别相对路径?
我正在尝试使用WiX检测.NET的安装版本.我试过了:
<Condition Message='This setup requires the .NET Framework 3.5 or higher.'>
<![CDATA[MsiNetAssemblySupport >= "3.5.0.0"]]>
</Condition>
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为MsiNetAssemblySupport属性检查的版本fusion.dll是从.NET 3.0或3.5版本2.0中更新的.
检查系统目录中是否存在.NET库是否可行?我怎么用WiX做到这一点?或者有一些方法可以使用注册表吗?
(我意识到有一个WiX用户电子邮件列表,但这是Oughts--我不喜欢80年代的技术,我喜欢我可以轻松搜索的东西.)
我有替代问题.我有一个带有1行随机字符的文件,括号"{}"大约1个字符.我想在前一个字符或下一个字符上移动这些括号.(如果角色线仍然不变,我知道该怎么做.)但我不知道如何在不知道这些字符的情况下这样做,我不知道这些括号在哪里.
例如:"ABC123 {X} CBA321"==>"ABC12 {3} XCBA321"或"ABC123X {C} BA321"
我想使用awk或sed,一些正则表达式,也许......
这是一个非常人为的例子,因为要解释我最终实现这个解决方案的背景并不容易.但是,如果有人能够回答为什么会发生这种特殊情况,我将不胜感激.
这个例子:
class A(dict):
def __init__(self):
self['a'] = 'success'
def __getitem__(self, name):
print 'getitem'
return dict.__getitem__(name)
class B(object):
def __init__(self):
self._a = A()
setattr(self, '__getitem__', self._a.__getitem__)
b = B()
c = b['a']
Run Code Online (Sandbox Code Playgroud)
这输出:
c = b['a']
TypeError: 'B' object is unsubscriptable
Run Code Online (Sandbox Code Playgroud)
即使这是一种奇怪的方式(显然子类化更合乎逻辑),为什么它找不到我明确设置的方法?
如果我这样做:
dir(b)
Run Code Online (Sandbox Code Playgroud)
我明白了:
['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', '_a']
Run Code Online (Sandbox Code Playgroud)
其他方法也会出现同样的问题__iter__.明确定义这个有效的方法是什么意思?
我有一个java项目的标准项目布局:
project /
src /
source_file_1.java
...
source_file_N.java
build /
classes /
source_file_X.class
...
jar /
MyJar.jar
lib /
SomeLibrary.jar
SomeOtherLibrary.jar
Run Code Online (Sandbox Code Playgroud)
据我所知,我正在使用Ant正确构建项目.我需要在Manifest文件中设置class-path属性,以便我的类可以使用所需的库.
build.xml中的以下相关信息
<target name="compile" depends="init">
<javac srcdir="src" destdir="build\classes">
<classpath id="classpath">
<fileset dir="lib">
<include name="**/*.jar" />
</fileset>
</classpath>
</javac>
</target>
<target name="jar" depends="compile">
<jar destfile="build\jar\MyJar.jar" basedir="build\classes" >
<manifest>
<attribute name="Built-By" value="${user.name}" />
</manifest>
</jar>
</target>
Run Code Online (Sandbox Code Playgroud)
任何正确方向的推动都值得赞赏.谢谢
我正在使用多个查询从我的应用程序中的同一服务器中提取数据.问题是我每次有新查询时都必须打开一个新连接.
是否有可能:
我正在寻找流程建议,我在网站上看到了一些.我喜欢听到的是你在公司,或者只是你和你的爱好项目中特别使用的东西.任何链接到其他网站谈论这些主题当然是受欢迎的!
一些问题的答案基于:
我有一个IEnumerable<T>和IEnumerable<U>我想要合并到IEnumerable<KeyValuePair<T,U>>KeyValuePair中连接在一起的元素的索引是相同的.注意我没有使用IList,所以我没有计算我正在合并的项目或索引.我怎样才能做到最好?我更喜欢LINQ的答案,但任何以优雅的方式完成工作的东西都会起作用.
使用aasm在转换时将对象的状态持久保存到数据库的最佳方法是什么?我原以为这会自动发生,但事实并非如此.
(编辑:当我手动保存对象时,状态列确实会更新.但是在转换时没有保存.)
我找不到这个插件的很多有用的文档,所以如果你有一个有更好的文档的替代有限状态机实现的建议,这可能也有帮助.