`
san_yun
  • 浏览: 2638876 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

java 获取url的根域名的bug

 
阅读更多

最近需要把一个url的根域名找出来,看着挺简单的需求,结果写出来的代码 却有bug:

public String getSourceDomain(String sourceLink) {
		if (sourceLink == null) {
			return null;
		}
		try {
			URI url = new URI(sourceLink);
			String host = url.getHost();
			int split = host.indexOf('.');
			return "www" + host.substring(split, host.length());
		} catch (URISyntaxException e) {
			return null;
		}
}

 

这段代码的问题在于,如果只能处理movie.douban.com这种情况,如果是douban.com,或者test.movie.douban.com则无法处理,正确的做法

	public String getSourceDomain() {
		if (sourceLink == null) {
			return null;
		}
		try {
			URI url = new URI(sourceLink);
			String host = url.getHost();
			String[] hostStr = host.split("\\.");
			int length = hostStr.length;
			if (hostStr.length >= 2) {
				return "www." + hostStr[length - 2] + "." + hostStr[length - 1];
			} else {
				return host;
			}
		} catch (URISyntaxException e) {
			return null;
		}
	}

 

 

分享到:
评论

相关推荐

    java java查bug 查bug bug 查错 源码

    "查bug"和"查错"是每个Java开发者必备的技能,而深入理解源码则能帮助我们更好地定位和解决问题。 在Java中,查bug通常涉及以下几个关键步骤: 1. **复现问题**:首先,我们需要在开发环境中重现bug,这包括了理解...

    JAVA代码BUG分析

    在编程世界中,Java语言以其跨平台性和稳定性深受开发者喜爱,但即使是经验丰富的程序员,也难免会在编写代码时遇到各种各样的错误,也就是我们常说的“BUG”。本篇将聚焦于"JAVA代码BUG分析"这一主题,深入探讨常见...

    java框架bug处理大全

    java 框架 bug处理 大全

    java Bug模式详解

    java Bug模式详解

    基于JAVA语言开发的bug管理系统

    《基于JAVA语言开发的Bug管理系统详解》 在软件开发过程中,Bug管理是至关重要的环节,它关乎着软件质量与用户体验。本文将深入探讨基于JAVA语言开发的Bug管理系统,旨在为开发者提供一个全面的理解和实践指南。 ...

    java开源的bug管理系统.rar

    Java开源的Bug管理系统是一款基于Java技术构建的问题跟踪与解决工具,它主要用于协助软件开发团队进行有效的缺陷管理和项目任务控制。这个系统通常包含了多种功能模块,如问题报告、故障分类、优先级设定、状态追踪...

    Java Bug模式详解 pdf版

    《Java Bug模式详解》这本书是面向那些已经具备Java编程基础的开发者,旨在帮助他们更好地理解和解决在编程过程中遇到的各种错误和异常,提升代码质量和维护效率。书中深入剖析了Java编程中常见的bug模式,通过实例...

    Java Bug模式详解.rar

    Java Bug模式详解主要涵盖的是Java编程中常见的错误和陷阱,这些错误往往会导致程序运行异常或者性能下降。在软件开发过程中,理解和避免这些Bug模式对于提高代码质量和效率至关重要。本资源包含一本PDF电子书《Java...

    解决Java实现飞行棋Bug

    本篇文章将详细讨论如何解决在Java实现飞行棋时遇到的常见Bug,确保游戏能够顺利运行。 首先,我们需要了解飞行棋的基本规则。飞行棋通常有四个颜色的棋子,玩家轮流掷骰子决定棋子的移动步数。棋子可以跳跃,当一...

    JAVA.BUG模式详解

    在Java编程中,"BUG模式"通常指的是程序员在编写代码时容易犯的一些常见错误或陷阱,这些错误可能导致程序运行不正常、性能下降甚至系统崩溃。理解并避免这些BUG模式是提高Java程序质量和效率的关键。本篇文章将深入...

    java bug系统

    【Java Bug系统】是一个专为跟踪和管理软件开发过程中出现的错误或问题的系统,它通常用于记录、分类、优先级排序以及修复这些bug。在Java编程语言中,开发这样的系统意味着利用Java的强大特性和丰富的类库来实现...

    使用Java编写不含任何BUG的计算器

    在编程领域,构建一个无bug的程序是一项挑战,...总的来说,创建一个无bug的Java计算器需要对Java语言有深入的理解,包括类、方法、异常处理以及数值计算。同时,良好的编程习惯和严谨的测试策略是确保代码质量的关键。

    Java白板程序(有Bug,真的有Bug!!!)

    这个名为"Java白板程序(有Bug,真的有Bug!!!)"的资源显然聚焦于一个包含错误的Java程序,可能是用于教学或实际项目中的一个白板应用。白板程序通常指的是用于画图、演示或教学目的的软件,而在这里,它显然存在...

    JAVA基本功能画板无Bug

    【JAVA基本功能画板无Bug】是一个JAVA编程项目,旨在实现一个功能丰富的画板应用。这个项目涵盖了多种图形绘制工具,如铅笔、橡皮、喷枪、直线、多边形、矩形、圆角矩形和椭圆,充分展示了JAVA在图形用户界面(GUI)...

    JAVA常见异常BUG

    ### JAVA常见异常BUG详解 #### 一、Java.lang.ArrayStoreException **定义**: `java.lang.ArrayStoreException` 是一种运行时异常(RuntimeException),当尝试向一个特定类型的对象数组存储不兼容类型的对象时...

    java贪吃蛇代码完美无bug

    本文将深入解析这个"java贪吃蛇代码完美无bug"的实现细节,帮助你理解其中的关键技术点。 首先,我们从基础结构开始。在Java中,贪吃蛇游戏通常会包含以下几个核心类: 1. **Snake** 类:代表蛇的实体,包含蛇的...

    java问题管理 BUG管理 任务管理 项目管理系统.rar

    在IT行业中,问题管理、BUG管理、任务管理和项目管理是软件开发流程中的核心环节,尤其在Java编程领域,这些管理工具和技术的应用对于提高团队效率、保证产品质量至关重要。本压缩包文件"java问题管理 BUG管理 任务...

    java的BUG集锦以及初学者上级练习素材全套.zip

    Java编程语言以其强大的跨平台能力和丰富的库支持深受程序员喜爱,但对于初学者来说,理解并解决各种BUG是学习过程中的一大挑战。这份"java的BUG集锦以及初学者上级练习素材全套.zip"提供了丰富的资源,旨在帮助新手...

    java 隐性bug查找

    可作为myeclipse的插件加入,可以检测java代码隐性的bug

Global site tag (gtag.js) - Google Analytics