Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

13
Java switch语句:需要常量表达式,但它是常量
因此,我正在研究具有一些静态常量的此类: public abstract class Foo { ... public static final int BAR; public static final int BAZ; public static final int BAM; ... } 然后,我想一种基于常量获取相关字符串的方法: public static String lookup(int constant) { switch (constant) { case Foo.BAR: return "bar"; case Foo.BAZ: return "baz"; case Foo.BAM: return "bam"; default: return "unknown"; } …

11
Hibernate vs JPA vs JDO-各自的优缺点?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 改善这个问题 我对ORM这个概念很熟悉,几年前甚至在n.ibernate项目中使用nHibernate。但是,我没有跟上Java中ORM的话题,也没有机会使用任何这些工具。 但是,现在我可能有机会开始对我们的一个应用程序使用一些ORM工具,以尝试摆脱一系列旧式Web服务。 我很难说出JPA规范之间的区别,您从Hibernate库本身获得的东西以及JDO必须提供的东西。 因此,我知道这个问题有点开放性,但是我希望就以下问题得到一些意见: 各自的优缺点是什么? 您对新项目有何建议? 在使用一个框架与另一个框架时是否存在某些条件?
174 java  hibernate  orm  jpa  jdo 

18
自定义字体和XML布局(Android)
我正在尝试使用Android中的XML文件定义GUI布局。据我所知,没有办法指定您的窗口小部件应在XML文件中使用一种自定义字体(例如,您放置在Assets / font /中的字体),并且只能使用系统安装的字体。 我知道,在Java代码中,我可以使用唯一ID手动更改每个小部件的字体。另外,我可以遍历Java中的所有小部件以进行此更改,但这可能会很慢。 我还有什么其他选择?有没有更好的方法来制作具有自定义外观的小部件?我特别不想为添加的每个新小部件手动更改字体。

7
卸载Java中的类?
我有一个自定义的类加载器,以便桌面应用程序可以动态地从需要与之交谈的AppServer加载类。我们这样做是因为这样做所需的罐子数量太可笑了(如果我们想发货的话)。如果我们没有在运行时从AppServer库动态加载类,我们还将遇到版本问题。 现在,我遇到一个问题,需要与两个不同的AppServer进行交谈,发现根据我首先加载的类,我可能会严重损坏...是否有任何方法可以在不杀死JVM的情况下强制卸载该类? 希望这有意义
174 java  classloader 

1
有人可以在JPA和Hibernate中解释MapdBy吗?
我刚冬眠,需要使用一对多和多对一关系。这是我对象中的双向关系,因此我可以从任一方向来回移动。mappedBy是推荐的解决方法,但是,我听不懂。有人可以解释: 推荐的使用方式是什么? 它解决什么目的? 就我的示例而言,这是带有注释的类: Airline 拥有许多 AirlineFlights 许多 AirlineFlights属于一个 Airline 航空公司: @Entity @Table(name="Airline") public class Airline { private Integer idAirline; private String name; private String code; private String aliasName; private Set<AirlineFlight> airlineFlights = new HashSet<AirlineFlight>(0); public Airline(){} public Airline(String name, String code, String aliasName, Set<AirlineFlight> flights) { setName(name); setCode(code); setAliasName(aliasName); …

4
使用JAXB从XML字符串创建对象
如何使用下面的代码解组XML字符串并将其映射到下面的JAXB对象? JAXBContext jaxbContext = JAXBContext.newInstance(Person.class); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); Person person = (Person) unmarshaller.unmarshal("xml string here"); @XmlRootElement(name = "Person") public class Person { @XmlElement(name = "First-Name") String firstName; @XmlElement(name = "Last-Name") String lastName; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public …
174 java  xml  jaxb 

8
控制jar工件的Maven最终名称
我正在尝试在我们的超级pom中定义一个属性,该属性将被所有子项目用作生成的工件的目标。 为此,我正在考虑使用project/build/finalName它,即使对于简单的poms,这似乎也不起作用: 命令 mvn archetype:create \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app 聚甲醛 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>my-app</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <finalName>${project.name}-testing</finalName> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project> 当我执行时: $ mvn install [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] …

7
什么是Java ClassLoader?
简单地说,什么是Java ClassLoader?何时使用Java?为什么? 好的,我读了一篇维基文章。ClassLoader加载类。好。因此,如果我包含jar文件并导入,则ClassLoader可以完成这项工作。 我为什么要打扰这个ClassLoader?我从未使用过它,也不知道它的存在。 问题是,为什么ClassLoader类存在?而且,您如何在实践中使用它?(案例存在,我知道。)
174 java  classloader 

16
将上下文路径添加到Spring Boot应用程序
我试图以编程方式设置一个Spring Boot应用程序上下文根。上下文根的原因是我们希望从中访问该应用程序,localhost:port/{app_name}并将所有控制器路径附加到该应用程序。 这是Web应用程序的应用程序配置文件。 @Configuration public class ApplicationConfiguration { Logger logger = LoggerFactory.getLogger(ApplicationConfiguration.class); @Value("${mainstay.web.port:12378}") private String port; @Value("${mainstay.web.context:/mainstay}") private String context; private Set<ErrorPage> pageHandlers; @PostConstruct private void init(){ pageHandlers = new HashSet<ErrorPage>(); pageHandlers.add(new ErrorPage(HttpStatus.NOT_FOUND,"/notfound.html")); pageHandlers.add(new ErrorPage(HttpStatus.FORBIDDEN,"/forbidden.html")); } @Bean public EmbeddedServletContainerFactory servletContainer(){ TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); logger.info("Setting custom configuration for Mainstay:"); …

4
使用正则表达式匹配多行文字
我正在尝试使用Java匹配多行文本。当我将Pattern类与Pattern.MULTILINE修饰符一起使用时,我可以匹配,但不能(?m). 使用(?m)和使用相同的模式String.matches似乎无效。 我确定我缺少什么,但不知道是什么。正则表达式不是很好。 这就是我尝试过的 String test = "User Comments: This is \t a\ta \n test \n\n message \n"; String pattern1 = "User Comments: (\\W)*(\\S)*"; Pattern p = Pattern.compile(pattern1, Pattern.MULTILINE); System.out.println(p.matcher(test).find()); //true String pattern2 = "(?m)User Comments: (\\W)*(\\S)*"; System.out.println(test.matches(pattern2)); //false - why?
174 java  regex 

6
在Gradle中,transitive = true到底能做什么(wrt crashlytics)?
Gradle transitive = true到底做什么?从Gradle文档中尚不清楚。这是在上下文compile中build.gradle。就我而言,我依赖于Android的crashlytics。 compile('com.crashlytics.sdk.android:crashlytics:2.2.2@aar') { transitive = true; } 一些Gradle文档(此处和此处)暗示“可传递”默认为true。然而,删除会transitive = true导致无法引入传递依赖(尤其是KitGroup)。 class file for io.fabric.sdk.android.KitGroup not found 文档说它默认为true,但实际行为似乎相反。 我正在运行Gradle 2.2.1。也许行为在2.2和2.4之间改变了? 编辑:不使用gradle为aar库解决相关的传递依存关系

11
如何从Eclipse中的现有源创建项目,然后找到它?
我已经创建了几个.java文件。它们全部位于一个目录中。我使用文本编辑器来编写这些文件。现在,我想切换到Eclipse。我该怎么做?我尝试了很多方法。它们都不起作用。 添加: 我认为常见的方法是将源保存在名为“ workspace”的eclipse文件夹中。因此,如何在这些目录中获取文件。我应该使用eclipse从现有源创建一个新项目,Eclipse会将所有文件放入工作区吗?还是应该手动将所有文件复制到工作区?我应该将我的课程文件放在哪里?我应该创建一个子目录吗?用哪个名字? 添加2: 当我尝试创建一个名称为“ game”的项目时,日食告诉我该名称的项目已经存在。但是我怎么打开这个项目呢? 添加3: 在我的“工作区”中,创建了一个名为“游戏”的子目录。我将所有.java文件复制到此子目录中。然后使用Eclipse创建了一个名为game的新项目。其结果是,Eclipse的创建.classpath和.project目录中的“游戏”文件。它还创建bin和src子目录。现在我认为这不是正确的方法。源文件应该位于“ src”目录中。对?目前,我所有的.java文件都位于“工作区\游戏”中。 添加了4: 我以其他方式做到了。使用Eclipse,我创建了一个名为“游戏”的新项目。结果,Eclipse在文件夹“ workspace”中创建了一个名为“ game”的文件夹。在“游戏”文件夹中,我找到了“ src”文件夹。我将所有.java文件复制到此文件夹中。但是现在在“包资源管理器”中,我无法打开“ src”文件夹。那么,如何从Eclipse访问我的源文件?为什么Eclipse不想打开“ src”文件夹?
174 java  eclipse  project 



21
Java方法名称何时过长?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 改善这个问题 在过去的几周里,我见过有些人在方法或类上使用非常长的名称(50个字符),这通常是在提高可读性的前提下进行的,我认为这样的长名称可以表明我们如果需要这么长的名称,尝试在方法类中做很多事情或做太多事情,但是我想知道你们对此有何看法。 一个例子是: getNumberOfSkinCareEligibleItemsWithinTransaction
173 java  methods 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.